selenium如何阻止加载或停止加载C#的网页广告

时间:2015-12-08 22:49:50

标签: c# selenium

我想加快页面加载速度。最大的瓶颈之一是广告和点击跟踪服务。有没有办法选择阻止浏览器加载它们,通过Selenium Firefox(我也使用Chrome)?

或者,有没有办法阻止页面加载,以便我可以继续IWebElement.Click()命令?目前,我必须在调用IWebElement.Click()命令之前等待整个页面加载。

让我们以espn.go.com为例。它在页面加载期间调用www.googletagservices.com。我可以以某种方式阻止这种不必要的电话吗?

    using OpenQA.Selenium;
    using OpenQA.Selenium.Firefox;

    namespace SeleniumTest
    {
        [TestFixture]
        public class TestFixtureStopAdsOrBypass
        {
            [Test]
            public void StackoverflowExample()
            {
                IWebDriver driver = new FirefoxDriver();

                driver.Navigate().GoToUrl("http://espn.go.com/");

                driver.Quit();
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

  1. 停用广告
    Selenium允许您向浏览器添加任何浏览器扩展(包括AdBlock,AdBlock +,uBlock)。使用此类扩展程序运行测试,您将看不到广告。
  2. 不要等到页面加载
    Firefox解决方案:
  3. firefoxProfile.setPreference("webdriver.load.strategy", "unstable");
    

    这两个功能都在这个java项目中实现:https://github.com/Wikia/selenium-tests