发布
社区首页 >问答首页 >Selenium自动化测试中的HTMLUnitDriver返回错误( ChromeDriver没有)

Selenium自动化测试中的HTMLUnitDriver返回错误( ChromeDriver没有)
EN

Stack Overflow用户
提问于 2018-04-15 09:01:42
回答 1查看 685关注 0票数 1

目标:使用无头选项对登录页面进行硒测试。(HTMLUnitDriver优先)

我正在尝试使用HTMLUnitDriver自动登录到一个站点。

当我sendKeys到一个元素时,它会抛出一个错误。

代码语言:javascript
代码运行次数:0
复制
HtmlUnitDriver driver = new HtmlUnitDriver();
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
driver.get("https://bigData/login.jsp");
WebDriverWait usernameWait = new WebDriverWait(driver, 3);
usernameWait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//input[@id=\"username\"]")));
driver.findElement(By.xpath("//input[@id=\"username\"]")).sendKeys("admin");

错误:

线程"main“org.openqa.selenium.ElementNotInteractableException:中的异常您只能与可见元素交互。

我对ChromeDriver也做了同样的尝试。很好用!它没有抛出这个异常。但我不能在里面使用无头的选择。

代码语言:javascript
代码运行次数:0
复制
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless");
WebDriver driver = new ChromeDriver(chromeOptions);

返回,

线程“主”org.openqa.selenium.TimeoutException中的异常:预期条件失败:等待由: By.xpath: //input@id="username"定位的元素的存在

只有在初始化chromeOptions时未定义chromeDriver时,才能正常工作。

代码语言:javascript
代码运行次数:0
复制
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless");
WebDriver driver = new ChromeDriver();

请指导我,这些情景可以是什么/建议一个替代方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-15 14:30:53

根据文档,ElementNotInteractableException是W3C异常,它表明尽管DOM树上存在一个元素,但它并不处于可以与之交互的状态。

您可以尝试的代码是:

代码语言:javascript
代码运行次数:0
复制
HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME ,true);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get("https://bigData/login.jsp");
WebDriverWait usernameWait = new WebDriverWait(driver, 30);
usernameWait.until(ExpectedConditions.visibiltyOfElementLocated(By.xpath("//input[@id=\"username\"]")));
usernameWait.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@id=\"username\"]")));
driver.findElement(By.xpath("//input[@id=\"username\"]")).sendKeys("admin");  

试一试这段代码,然后告诉我状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49840226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档