2013-05-29 150 views
1

大家下午好,這個問題一直讓我考慮打我的筆記本電腦。在下面的代碼中,我只是將鼠標懸停在下拉菜單上並從中選擇一個鏈接。現在這個問題是隨機收到我選擇的鏈接「元素無法滾動到視圖中」。這大概發生在50%的時間內,視覺上發生的是它懸停在下拉菜單上,然後屏幕跳下來切斷菜單的位置並拋出錯誤。任何幫助將不勝感激。Selenium Webdriver Java元素無法滾動到視圖中

​​
+0

所以我覺得我已經解決了這個最後。我在懸停後又增加了一個等待,但從那以後沒有再生。 –

+0

刮傷仍然失敗 –

+0

所以剛剛閱讀,這是一個已知的問題,已經有幾年了,希望他們已經解決這個問題。 –

回答

0

如何生成鏈接?鏈接文本是否可以改變?

我建議嘗試此:

Actions hover = new Actions(driver); 
WebDriverWait waitForDropDown = new WebDriverWait(driver, 5); 
WebElement objectOnScreen = driver.findElement(By.linkText("Test Lab")); //Use a CSS locator, not link text 
WebElement objectToClick = driver.findElement(By.partialLinkText("Create Test Case")); //Use a CSS locator, not link text 

hover.moveToElement(objectOnScreen).perform(); 
waitForDropDown.until(ExpectedConditions.elementToBeClickable(objectToClick)); 
hover.moveToElement(objectToClick).click(); 

一般鏈接文本是不應該用一個很脆的定位。 CSS定位器是一個更好的選擇。