Используйте «OpenQA.Selenium.Interactions.Actions» для перехода к элементу. Он должен автоматически получить позицию элемента x, y и прокрутить к ней.
// Initialize instance
Actions action = new Actions(webdriver);
// Find element to focus inside iframe
WebElement we = webdriver.findElement("<find element you wish to focus>");
// Perform move action
action.moveToElement(we).build().perform();
Не испытал, надеюсь, это поможет.
UPDATE:
У вас есть две очень похожие идентификаторы - "#Pagina т ион" и "#Pagina гр ионов". Это действительно сбивает с толку.
Кроме того, вам следует рассмотреть вопрос о добавлении класса в строки, где у вас есть данные, например data-row
.
Примечание: Убедитесь, что вы правильно нашли элемент. Когда вы показываете данные таблицы, этот элемент будет ячейкой таблицы, а не самой таблицей.
1) В Java коде вы сохраняете скрипт в строковую переменную:
String script = "return $('#Paginacion').find('.data-row').eq(%1$d - 1).find('td').eq(%2$d - 1)";
2) Тогда легко пройти rowNumber
и columnNumber
к executeScript
метода.
Примечание: Должны быть добавлены также нулевые проверки.
int rowNumber = 1;
int columnNumber = 19;
List<WebElement> webElements = (List<WebElement>)js.executeScript(String.format(script, rowNumber, columnNumber));
3) Когда элемент найден, просто вызовите метод moveToElement
action.moveToElement((WebElement) webElements.get(0)).build().perform();
Испытано и она работает.
Итак, Java или JavaScript? – Pavlo
@Pavlo Both- WebDriver на Java, в котором может выполняться javascript. Да, там должен быть добавлен правильный тег. – Edgar