gpt4 book ai didi

java - Selenium 网络驱动程序 : Load Page without any resources

转载 作者:行者123 更新时间:2023-11-28 12:33:31 28 4
gpt4 key购买 nike

我试图阻止 Javascript 更改我正在使用 Selenium 测试的网站的源代码。问题是,我不能简单地在 Webdriver 中关闭 Javascript,因为我需要它来进行测试。以下是我为 Firefox Webdriver 所做的事情:

        firefoxProfile.setPreference("permissions.default.image", 2);
firefoxProfile.setPreference("permissions.default.script", 2);
firefoxProfile.setPreference("permissions.default.stylesheet", 2);
firefoxProfile.setPreference("permissions.default.subdocument", 2);

我不允许 Firefox 加载任何图像、脚本和样式表。如何使用 Internet Explorer Webdriver 和 Chrome Webdriver 执行此操作?我还没有发现任何类似的偏好。或者是否有一种更优雅的方法来阻止网络驱动程序加载网站的 JS 文件?谢谢!

最佳答案

解决方案是使用代理。 Webdriver 与 browsermob 代理集成得很好:http://bmp.lightbody.net/

private WebDriver initializeDriver() throws Exception {
// Start the server and get the selenium proxy object
ProxyServer server = new ProxyServer(proxy_port); // package net.lightbody.bmp.proxy

server.start();
server.setCaptureHeaders(true);
// Blacklist google analytics
server.blacklistRequests("https?://.*\\.google-analytics\\.com/.*", 410);
// Or whitelist what you need
server.whitelistRequests("https?://*.*.yoursite.com/.*. https://*.*.someOtherYourSite.*".split(","), 200);

Proxy proxy = server.seleniumProxy(); // Proxy is package org.openqa.selenium.Proxy

// configure it as a desired capability
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);

// start the driver ;
Webdriver driver = new FirefoxDriver(capabilities);
//WebDriver driver = new InternetExplorerDriver();

return driver;
}

关于java - Selenium 网络驱动程序 : Load Page without any resources,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19654141/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com