我有一個Web應用程序,在左側有一個可滾動菜單。我的代碼很簡單:Selenium WebDriver Java在Chrome中找不到元素以滾動到
WebElement elementToScrollTo = driver.findElement(By.xpath(locator));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", elementToScrollTo);
定位器是我想單擊的網頁元素/菜單項的鏈接。問題出在Chrome上,第一行輸出NoSuchElementException
。所以很顯然,我不能滾動到一開始就找不到的東西。
但是,有什麼奇怪的是,在IE中,一切都很完美。元素可以被找到並且菜單滾動。之後我使用該元素(即點擊它)。
我無法滾動整個瀏覽器窗口,因爲我只需要左側的菜單面板滾動。
我有最新的Chrome (60.0.3112.78 (Official Build) (64-bit))
和chromedriver 2.30
。
注:我已經找到了問題。它無法找到它的原因是因爲它不滾動到菜單項的父級,即2級元素。所以第二行(滾動)在Chrome中不做任何事情,因此,驅動程序將無法在級別3上找到菜單項(級別2的子項)。所以也許滾動不適用於Chrome?
你能給我完整的代碼,這樣我就可以試試嗎? –
請分享完整代碼 –
錯誤表示所有'NoSuchElementException'因爲不同的瀏覽器不同地表示HTML DOM。謝謝 – DebanjanB