我将Selenium WebDriver
与Firefox
一起使用以导航到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不会将两个请求同步发送到代理服务器吗?