使用'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既可以在Java中執行JavaScript的WebDriver。是的,應該添加正確的標籤。 – Edgar