当前位置: 首页 > 知识库问答 >
问题:

网络驱动程序不会点击谷歌搜索

於子晋
2023-03-14

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

当没有为键入的文本列出建议时,网络驱动程序会单击谷歌搜索按钮(例如 macintosh)。但是当建议出现时,我如何仍然让网络驱动程序点击谷歌搜索按钮。我的代码如下:

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 INFO:检测到方言:OSS true线程“main”org.openqa.selenium中出现异常。WebDriverException:未知错误:元素在点(598411)处不可单击。其他元素将收到点击:…
(会话信息: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”,os。name:“Windows 10”,操作系统。拱门:'amd64',os。版本:“10.0”,java。版本:“1.8.0_73”驱动程序信息:org.openqa.selenium.chrome。ChromeDriver功能{acceptInsecureCerts:false,acceptslCerts:false,applicationCacheEnabled:false,browserConnection Enabled:false;browserName:chrome,chrome:{chromediverVersion: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,本机事件:true,networkConnectionEnabled:false;pageLoadStrategy:normal,平台:XP,平台名称:XP,可旋转:false,setWindowRect:true,takesHeapSnapshot:true,takesScreen:true,unexpectedAlertBehavior:,unhandledPromptBehavior:,版本:67.0.3396.87,webStorageEnabled:true}会话ID:f4700c020ed7f67bd9e46a3c70fb4b02,位于sun.reflect.NativeConstructorAccessorImpl。sun.reflex.NativeConstructorAccessorImpl.newInstance(NativeConstructor AccessorImpl.java:62)位于sun.reflev.DelegatingConstructorAccessor Impl.newInstance0(本机方法)位于java.lang.reflex.Constructor.newInstance(Constructor.java:422)位于org.openqa.selecton.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)位于org.openqa.selecton.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166),位于org.openqa.electon.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponse Codec.java:40),位于org.openqa.selection.remote.http.AbstractHttpResponceCodec.decode(AbstractHttpResresponseCodec.java:80),地址:org.openqa.selecton.remote.HttpCommandExecutor.execute(HttpCommandExecutoor.java:158),位于org.openqa-selecton.remote.service.DriverCommandExecutoer.execute(DriverCommandExecutor.java:83),位于org.openqa.selection.remote.RemoteWebDriver.exexecute(RemoteWebDriver.java:543)(RemoteWebElement.java:83)位于newProj.Google.main(Google.java:33)

共有2个答案

郭俊人
2023-03-14

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

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

gs.submit(); 

它会起作用。

卞博简
2023-03-14

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

    driver.findElement(By.cssSelector("input[title='Search']")).sendKeys("sele");

    List<WebElement> list=driver.findElements(By.xpath("//*[@class='sbsb_b']/li[*]"));

    Iterator<WebElement> itr=list.listIterator();
    while(itr.hasNext()){

        WebElement element=itr.next();

        if(element.getText().equalsIgnoreCase("selenium webdriver")){

            element.click();
            break;
        }
    }
 类似资料:
  • 我试图使用Selenium Webdriver python单击网站上的一个按钮,我看到该按钮高亮显示,但没有使用函数单击。 下面是我尝试单击的按钮的html代码 我正在尝试使用id单击按钮 我还尝试了xpath,得到了相同的结果

  • 当我完成自动化后,Chrome Web驱动程序仍在后台运行,是否可以自动关闭它,而无需通过任务管理器执行?

  • 我用XPath写了一个单选按钮的代码,但在代码执行过程中没有点击单选按钮。 我的代码是: 请帮助如何按钮选择特定的单选按钮,选择后它移动到另一个单选按钮。 提前感谢。

  • 我正在尝试使用python中的SeleniumWebDriver(在linux中使用Firefox)在网站上自动使用简单的HTML5应用程序。我需要我的Python程序单击HTML5画布上特定位置的按钮,然后在按下按钮后在画布上单击并拖动一个或两个对象。 似乎selenuim目前无法在HTML5画布上实际定位按钮或任何其他对象。首先,我试图找到HTML5按钮出现的页面上的坐标,计算出它与页面上se

  • 下面是我为firefox浏览器初始化的selenium web驱动程序。 尽管我给出了隐式等待,但我没有等待元素。它会立即抛出not found异常。如果我放那么它工作正常,没有任何问题。但是把现在测试用例包含更多线程的任何地方。sleep比实际的测试用例代码低。有人能给我建议正确的方法吗?

  • 我尝试用java的selenium webdriver访问blogger搜索框。但是我也有例外,比如 线程“主”组织中的异常 openqa.硒.NoSuch元素异常: 无法找到元素: {“method”:“name”,“selector”:“q”} 我的代码是这样的..... 但它不工作,我也尝试与类名,xpath,id,名称,但它不工作.. 请给我任何建议?