【问题标题】:How to change my Selenium code to HtmlUnit [closed]如何将我的 Selenium 代码更改为 HtmlUnit [关闭]
【发布时间】:2022-01-07 07:36:19
【问题描述】:

我有下面的 sellinium 代码,它工作正常。我想要的是将此代码转换为 HtmlUnit。我可以像 WebDriver driver = new HtmlUnitDriver();

一样使用 HtmlUnitDriver

我想使用纯 HtmlUnit。在我的 sellinium 代码下面是一个尝试过但失败的 HtmlUnit 代码。

import java.util.logging.Logger; 
import org.eclipse.jetty.util.log.Log; 
import org.eclipse.jetty.util.log.StdErrLog; import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.htmlunit.HtmlUnitDriver; import com.gargoylesoftware.htmlunit.BrowserVersion; 

public class SpribeDemoTesting { 

public static void main(String[] args) { 

System.setProperty("webdriver.chrome.driver","path to chromedriver.exe");  

driver = new ChromeDriver();

driver.manage().window().maximize();

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 

WebDriverWait wait = new WebDriverWait(driver,30); 

driver.get("https://www.spribe.co/games/aviator"); 

htmlButton3 = (HtmlButton) htmlPage.getByXPath("//div[@class='modal-content']//button[1]");

谁能给我一个例子。 //在这里,我如何像在 SELENIUM 中那样通过新打开的窗口 **Set windows = driver.getWindowHandles();列出 windowsH = new ArrayList(windows); driver.switchTo().window(windowsH.get(1)); **

【问题讨论】:

  • 你看到了什么错误?

标签: javascript java html selenium htmlunit


【解决方案1】:

您可以向 WebClient 询问当前窗口列表

webClient.getWebWindows()

然后您可以要求其中一个 Windows 获取包含页面。

getEnclosedPage()

通常您必须将页面转换为 HtmlPage,然后您才能继续该页面。

顺便说一句 - 你的代码中有一个重大错误

webClient.waitForBackgroundJavaScript(30);

不是一个选项;此调用等待脚本在您调用它时完成。或者换句话说,如果触发了一些异步 js,您必须在某些操作(例如 click())之后进行此调用以等待 js。

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2014-10-23
    • 1970-01-01
    • 2021-12-02
    • 2020-12-23
    • 2013-05-15
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    相关资源
    最近更新 更多