Webdriver不会点击Google搜索

时间:2018-06-27 06:47:11

标签: selenium-webdriver xpath

这是一个非常简单的脚本,但我需要帮助。

当没有针对键入的文本列出建议时(例如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)

2 个答案:

答案 0 :(得分:0)

driver.navigate()。to(“ http:\ google.com”);

= delete;

答案 1 :(得分:0)

这是一个小错误。将click()替换为submit(),如下所示-

WebElement gs = driver.findElementByXPath("//input[@value = 'Google Search']");

gs.submit(); 

它将起作用。

相关问题