这是一个非常简单的脚本,但我需要帮助。
当没有针对键入的文本列出建议时(例如macintosh),网络驱动程序将单击google搜索按钮。但是,当出现建议时,如何仍然使网络驱动程序单击Google搜索按钮。 我的代码如下:
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 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: 检测到的方言:OSS true线程“主”中的异常 org.openqa.selenium.WebDriverException:未知错误:元素在点(598,411)不可单击。 其他元素将获得点击:...
(会话信息:chrome = 67.0.3396.87)(驱动程序信息: chromedriver = 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',操作系统名称:'Windows 10',os.arch:'amd64',os.version: '10 .0',java.version:'1.8.0_73'驱动程序信息: org.openqa.selenium.chrome.ChromeDriver功能 {acceptInsecureCerts:否,acceptSslCerts:否, applicationCacheEnabled:否,browserConnectionEnabled:否, browserName:chrome,chrome:{chromedriverVersion:2.40.565498 (ea082db3280dd6 ...,userDataDir:C:\ Users \ CSS116〜1 \ AppData \ L ...}, cssSelectorsEnabled:true,databaseEnabled:false,handlesAlerts: true,hasTouchScreen:false,javascriptEnabled:true, locationContextEnabled:true,mobileEmulationEnabled:false, nativeEvents:true,networkConnectionEnabled:false,pageLoadStrategy: 正常,平台:XP,平台名称:XP,可旋转:false, setWindowRect:true,takesHeapSnapshot:true,takesScreenshot:true, UnexpectedAlertBehaviour:,unhandledPromptBehavior:,版本: 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)
答案 0 :(得分:0)
driver.navigate()。to(“ http:\ google.com”);
= delete;
答案 1 :(得分:0)
这是一个小错误。将click()
替换为submit()
,如下所示-
WebElement gs = driver.findElementByXPath("//input[@value = 'Google Search']");
gs.submit();
它将起作用。