Selenium WebDriver是同步打开还是异步打开多个选项卡?

时间:2019-08-20 18:02:21

标签: java selenium asynchronous selenium-webdriver proxy

我将Selenium WebDriverFirefox一起使用以导航到URL列表。当前,WebDriver设置为每个浏览器最多打开50个标签。我正在使用一个代理服务,每个IP一次最多可以使用1个线程。换句话说,它们不允许并行(或异步)请求仅同步请求。

给我的印象是,如果我执行以下代码:

navigateToURL(driver, subListOfURLs.get(0));

for (int counter = 1; counter < subListOfURLs.size(); counter++) {
        String url = subListOfURLs.get(counter);
        ((JavascriptExecutor) driver).executeScript("window.open(arguments[0])", url);
}

Set<String> windowHandles = driver.getWindowHandles();

for (String window : windowHandles) {

        driver.switchTo().window(window.toString());

        // do something with each tab
}

无论调用多少选项卡,自从调用以下命令以来,每个选项卡都会同步打开(一个接一个):

    ((JavascriptExecutor)driver).executeScript("window.open(arguments[0])", url);

将始终异步运行(如果上面的全部代码是多线程的,则不是这样)

我可以确定Firefox不会将两个请求同步发送到代理服务器吗?

0 个答案:

没有答案