【发布时间】:2018-06-27 06:47:11
【问题描述】:
这是一个非常简单的脚本,但我需要帮助。
当没有为键入的文本列出建议时(例如 macintosh),网络驱动程序会单击 google 搜索按钮。但是当出现建议时,我如何仍然让 webdriver 点击 Google Search 按钮。 我的代码如下:
package newProj;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.RemoteWebDriver;
public class Google {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "./drivers/chromedriver.exe");
RemoteWebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
driver.manage().window().maximize();
driver.findElementById("lst-ib").sendKeys("macintosh");
WebElement gs = driver.findElementByXPath("//input[@value = 'Google Search']");
gs.click();
System.out.println("Search Done");
driver.close();
}
}
但出现以下错误。请帮忙
在端口 3288 上启动 ChromeDriver 2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab) 仅限本地 允许连接。 2018 年 6 月 27 日 12:14:37 org.openqa.selenium.remote.ProtocolHandshake createSession 信息: 检测到的方言:OSS true 线程“main”中的异常 org.openqa.selenium.WebDriverException:未知错误:元素在点(598、411)不可点击。 其他元素会收到点击:...
(会话信息:chrome=67.0.3396.87)(驱动程序信息: 铬驱动程序=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),平台=Windows NT 10.0.15063 x86_64)(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:0 毫秒构建信息: 版本:'3.12.0',修订:'7c6e0b3',时间: '2018-05-08T15:15:03.216Z' 系统信息:主机:'HDC0007030',ip: '10.50.90.19', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_73' 驱动信息: org.openqa.selenium.chrome.ChromeDriver 功能 {acceptInsecureCerts:假,acceptSslCerts:假, applicationCacheEnabled:假,browserConnectionEnabled:假, 浏览器名称:铬,铬:{chromedriverVersion:2.40.565498 (ea082db3280dd6..., userDataDir: C:\Users\CSS116~1\AppData\L...}, cssSelectorsEnabled:true,databaseEnabled:false,handlesAlerts: 真,hasTouchScreen:假,javascriptEnabled:真, locationContextEnabled:真,mobileEmulationEnabled:假, nativeEvents:true,networkConnectionEnabled:false,pageLoadStrategy: 正常,平台:XP,平台名称:XP,可旋转:false, setWindowRect:真,takeHeapSnapshot:真,takeScreenshot:真, 意外警报行为:,未处理的提示行为:,版本: 67.0.3396.87,webStorageEnabled:true} 会话 ID:f4700c020ed7f67bd9e46a3c70fb4b02 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:422) 在 org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214) 在 org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166) 在 org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40) 在 org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80) 在 org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) 在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543) 在 org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:276) 在 org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:83) 在 newProj.Google.main(Google.java:33)
【问题讨论】: