【问题标题】:Selenium Webdrivers: Load Page without any resourcesSelenium Webdrivers:在没有任何资源的情况下加载页面
【发布时间】:2013-11-08 08:48:47
【问题描述】:

我试图阻止 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 执行此操作?我没有发现任何类似的偏好。还是有更优雅的方法来阻止 webdrivers 加载站点的 JS 文件? 谢谢!

【问题讨论】:

    标签: java javascript selenium selenium-webdriver webdriver


    【解决方案1】:

    以跨浏览器的方式完成您想要的最简单的方法可能是使用代理。这将允许您拦截对资源的请求并阻止它们。这还具有对所有浏览器使用相同代码的优势,而不必为每个浏览器使用该浏览器独有的设置。

    【讨论】:

      【解决方案2】:

      解决方案是使用代理。 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;
      }
      

      【讨论】:

        猜你喜欢
        • 2012-01-24
        • 1970-01-01
        • 2011-11-09
        • 1970-01-01
        • 1970-01-01
        • 2019-10-05
        • 2021-12-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多