Selenium chromeDriver打开速度比直接在Chrome浏览器中打开网站慢得多
我在打开网站时遇到了一个关于Selenium Webdriver速度的令人厌恶的问题。
我正在测试的网站是内部网站,因此您无法访问。为了详细描述我的问题,我将该网站称为ABC
。
当我在Chrome浏览器中键入ABC
的URL时,仅需1秒即可打开此网站。
在TestNG中,我的Selenium客户端如下所示:
String ABC = "ABC'S URL";
String chromeDriverPath = "C:\selenium\chromedriver.exe" ;
System.out.println("start selenium");
File file = new File(chromeDriverPath);
System.setProperty("webdriver.chrome.driver",file.getAbsolutePath());
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
webDriver driver = new ChromeDriver(options);
driver.get(ABC);
然后,Chrome将由自动化测试软件控制。在示意图上,会有一条注释写着waiting for staticxx.fackbook.com
或waiting for www.facebook.com
。
1分钟后,ABC
网站已成功加载。我检查了F12
工具,在控制台中它显示为staticxx.facebook.com/connect/xd_arbiter/r/0F7S7QWJ0Ac.js?version=42#channel=f38f3479a8af658&origin=http%
Failed to load resource: the server responded with a status of 503 (Service Unavailable)
。
有没有什么Selenium API可以避免加载某些Web资源? 或者,我是否可以在浏览器上进行一些配置以停止加载某些Web资源?
提前感谢大家!
解决方案
以下是您问题的答案:
为了避免加载某些网站,您可以利用Chrome浏览器的一个功能,调整pageLoadStrategy
到DesiredCapabilities
类,设置为none
,如下所示:
String ABC = "ABC'S URL";
String chromeDriverPath = "C:\selenium\chromedriver.exe" ;
System.out.println("start selenium");
File file = new File(chromeDriverPath);
System.setProperty("webdriver.chrome.driver",file.getAbsolutePath());
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
capabilities.setCapability("pageLoadStrategy", "none");
webDriver driver = new ChromeDriver(capabilities);
driver.get(ABC);
如果这回答了您的问题,请让我知道。
相关文章