我正在使用FF 60.0的壁虎驱动程序selenium java。以前我的代码运行正常,但是突然之间,现在每次运行它时,都会出现错误,就像could not be scrolled into view我尝试单击按钮时一样。下面是我的代码,我尝试Thread.sleep(5000)或隐式等待,但没有任何效果。我被卡在这里。
could not be scrolled into view
Thread.sleep(5000)
public void goToWorkerSummary() throws InterruptedException { WebElement btnWorkerSummary = driver.findElement(By.xpath("//a[@href='/admin/worker-summary']")); //Thread.sleep(5000);//wait.until(ExpectedConditions.visibilityOf(btnWorkerSummary).click(); btnWorkerSummary.click(); }
至此的代码有效,但是一旦到达此处,它就会显示上述错误。下面是错误代码段。
Exception in thread "main" org.openqa.selenium.ElementNotInteractableException: Element <a class="bg-inverse text-white dropdown-item" href="/admin/worker-summary"> could not be scrolled into view Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T15:15:03.216Z' System info: host: 'CPU-38', ip: '192.168.0.55', os.name: 'Windows 8', os.arch: 'x86', os.version: '6.2', java.version: '1.8.0_51' Driver info: org.openqa.selenium.firefox.FirefoxDriver Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 60.0.2, javascriptEnabled: true, moz:accessibilityChecks: false, moz:headless: false, moz:processID: 2480, moz:profile: C:\Users\xyz\AppData\Lo..., moz:useNonSpecCompliantPointerOrigin: false, moz:webdriverClick: true, pageLoadStrategy: normal, platform: XP, platformName: XP, platformVersion: 6.2, rotatable: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}} Session ID: 08c08933-06f6-480c-88c9-9d7ab718c2c8 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.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543) at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:276) at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:83)
此错误消息…
Exception in thread "main" org.openqa.selenium.ElementNotInteractableException: Element <a class="bg-inverse text-white dropdown-item" href="/admin/worker-summary"> could not be scrolled into view
…表示 GeckoDriver / FirefoxDriver 无法与所需元素进行交互。
找到要调用的 btnWorkerSummary 元素( click() 而不是 ExpectedConditions 元素)后,就visibilityOf需要使用它 elementToBeClickable() ,如下所示:
click()
visibilityOf
elementToBeClickable()
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@href='/admin/worker-summary']"))).click();
但是,另一个问题是您正在使用的二进制版本之间的 不兼容性 ,如下所示:
@Test