java - 使用 selenium HTMLUnitDriver 进行简单测试无法正常工作,这是错误的吗?

标签 java selenium selenium-webdriver htmlunit-driver

我是 Selenium 的初学者,我正在做一个测试,但我不明白为什么它不起作用。 这是我的代码和以下错误。

 import org.openqa.selenium.*;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.htmlunit.HtmlUnitDriver;
 public class PruebaHTMLUnit {
    public static void main(String[] args) {

WebDriver driver = new HtmlUnitDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("Guru99");
element.submit();
System.out.println("Page title is: " + driver.getTitle());

driver.quit();
}
}

错误:

Build info: version: '3.5.2', revision: '10229a9', time: '2017-08-21T17:29:55.15Z'
System info: host: 'MVILLEGAS764', ip: '169.254.106.219', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version:

'1.8.0_144' Driver info: driver.version: HtmlUnitDriver at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElementByName(HtmlUnitDriver.java:1293) at org.openqa.selenium.By$ByName.findElement(By.java:303) at org.openqa.selenium.htmlunit.HtmlUnitDriver$4.call(HtmlUnitDriver.java:1970) at org.openqa.selenium.htmlunit.HtmlUnitDriver$4.call(HtmlUnitDriver.java:1) at org.openqa.selenium.htmlunit.HtmlUnitDriver.implicitlyWaitFor(HtmlUnitDriver.java:1606) at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:1966) at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:754) at com.villegas.pruebas.PruebasRegresion.PruebaHTMLUnit.main(PruebaHTMLUnit.java:20)

最佳答案

import org.openqa.selenium.*;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.htmlunit.HtmlUnitDriver;

    public class test_Stackoverflow
    {
            public static void main(String[] args) {
                       WebDriver driver = new HtmlUnitDriver();
                driver.get("https://www.google.com");
                WebElement element = driver.findElement(By.xpath(".//*[@id='gs_htif0']"));
                element.sendKeys("Guru99");
                element.submit();
                System.out.println("Page title is: " + driver.getTitle());
                driver.quit();
            }
    }

HtmlUnitDriver 是 Selenium 2.53 版本的一部分。如果您使用的是 Selenium 2.52 或更早版本,则无需下载并安装 HtmlUnitDriver,它已经存在。

但是您仍然想使用它,请从这里下载

https://github.com/SeleniumHQ/htmlunit-driver/releases

从2.53版本开始,需要单独添加

查看此图片 Image of result

试试这个:

<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-htmlunit-driver -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-htmlunit-driver</artifactId>
    <version>2.52.0</version>
</dependency>

关于java - 使用 selenium HTMLUnitDriver 进行简单测试无法正常工作,这是错误的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46234970/

相关文章:

java - Selenium Webdriver "Expectedconditions.not"未按预期工作

java - 如何使用selenium切换到特定窗口

java - 启用proguard时androidTest中没有静态方法deleteRecursively(Ljava/io/File;)

java - 使用可变参数在 kotlin 中调用构造函数

python - 如何在当前窗口 session 中运行 selenium python 脚本?

java - Webdriver 2.28 是否会在出现异常/失败/错误时自动截屏?

java - 当我在 Webdriver 中使用 Java 运行脚本时,我收到错误消息 "No alert is active"

java - 如何从多模块 Maven 项目中组装多个可执行 JAR

java - 如何从 Java Web 应用程序发送 SMS 消息

java - 使用 Maven Postman 插件运行测试后无法发送电子邮件