我已閱讀有關點擊幾個問題是不工作,但仍不明白爲什麼它不起作用的真正原因。我基本上在等待隱式的頁面加載,所以我可以搜索模式的關閉按鈕。我已閱讀,我需要啓用javascript,但認爲這是沒有必要的,根據使用FF驅動硒機制的文檔運行在真正的瀏覽器和支持JavaScript點擊不工作在硒驅動程序java
private WebDriver driver;
public Test() {
System.setProperty("webdriver.gecko.driver", "geckodriver.exe");
driver =new ChromeDriver();
driver.get("https://www.site.site");
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}
public void close50off(){
WebElement element = driver.findElement(By.className("close-button"));
if(element.isEnabled()){
element.click();
}
else{
System.out.println("Disable");
}
}
這是HTML
<div class="close-button">
<a class="closeModal">
<img alt="Close Modal Button" style="border: 0;" src="/_ui/desktop/theme/images/close-button.png">
</a>
</div>
但它給我這個錯誤
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.29.461591 (62ebf098771772160f391d75e589dc567915b233), userDataDir=C:\Users\dturcios\AppData\Local\Temp\scoped_dir8916_4528}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=57.0.2987.133, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, unexpectedAlertBehaviour=}]
Session ID: 5d9cf82fc240a40a7bf3245bb8b1ce6f
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:216)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:168)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:638)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:274)
at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
at testclasses.MyronTest.close50off(Test.java:38)
at seleniumproject1.SeleniumProject1.main(SeleniumProject1.java:32)
你在哪裏調用close50off()? – kushal
主要的是,沒有必要包含它 – Diego