-2

我正在使用 selenium 来自动化 Web 应用程序。它包括从菜单中选择选项,我只需要将鼠标悬停在该菜单上,以便出现选项,我可以选择其中一个,但下面的代码选择选项引发了异常,如下所示,

我用moseOver做菜单

actions.moveToElement(element).click().build().perform();

和选项

element.click();

例外:-

org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"link text","selector":"ARINC Loader Settings"}
Command duration or timeout: 1.57 seconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.31.0', revision: '1bd294d', time: '2013-02-27 20:53:56'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_13'
Session ID: 08f4ccbc-7b13-4c2a-a2db-387dcf0022a7
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{platform=XP, databaseEnabled=true, cssSelectorsEnabled=true, javascriptEnabled=true, acceptSslCerts=true, handlesAlerts=true, browserName=firefox, browserConnectionEnabled=true, nativeEvents=true, webStorageEnabled=true, rotatable=false, locationContextEnabled=true, applicationCacheEnabled=true, takesScreenshot=true, version=24.0}]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:187)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:307)
    at org.openqa.selenium.remote.RemoteWebDriver.findElementByLinkText(RemoteWebDriver.java:356)
    at org.openqa.selenium.By$ByLinkText.findElement(By.java:241)
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:299)
    at com.honeywell.corept.tests.MainTest.webTest(MainTest.java:114)
    at com.honeywell.corept.tests.MainTest.main(MainTest.java:264)
Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException: Unable to locate element: {"method":"link text","selector":"ARINC Loader Settings"}
Build info: version: '2.31.0', revision: '1bd294d', time: '2013-02-27 20:53:56'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_13'
Driver info: driver.version: unknown
4

1 回答 1

2

相反,您需要一次性链接所有想要实现的操作。所以移动到显示其他元素的元素,然后在同一个链中,移动到现在显示的元素并单击它。

用这个,

Actions action = new Actions(webdriver)
WebElement we = webdriver.findElement(By.xpath("element xpath"));
action.moveToElement(we).moveToElement(webdriver.findElement(By.xpath("element xpath")).click().build().perform();

希望这对你有帮助。

于 2013-10-23T06:03:24.173 回答