【问题标题】:Selenium Java ChromeDriver - How to disable attached sitesSelenium Java ChromeDriver - 如何禁用附加站点
【发布时间】:2017-05-10 12:19:51
【问题描述】:

加载网页时,有时会一直挂在加载网站上,如“google analytics”、“gstatic.com”等。

它有时会永远挂起。

有没有办法禁用这种行为?

【问题讨论】:

  • 有一种方法可以限制这种行为,但相反,您将永远无法确定 HTML DOM 是否已完全加载,以便您继续使用该网页上的 WebElements :)跨度>
  • @Dev 所以,也许我应该试一试...你能告诉我怎么做吗?
  • 你查看我的答案了吗?

标签: google-chrome selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

使用 Selenium 3.4.0 以及最新的 chromedriver 2.29 和最新的 Google Chrome 58.0 来限制站点的加载,您可以借助 pageLoadStrategyDesiredCapabilities 类如下:

    System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
    ChromeOptions options = new ChromeOptions();
    options.addArguments("start-maximized");
    options.addArguments("disable-infobars"); 
    DesiredCapabilities c1 = DesiredCapabilities.chrome();
    c1.setCapability(ChromeOptions.CAPABILITY, options);
    c1.setCapability("pageLoadStrategy", "none");
    WebDriver driver1 = new ChromeDriver(c1);
    Navigation navigate = driver1.navigate();
    navigate.to("https://gmail.com");

免责声明:

使用此功能,您无法确定 HTML DOM 是否已完全加载,以便您继续使用该网页上的 WebElement。

如果这能回答您的问题,请告诉我。

【讨论】:

  • 谢谢开发者。我试过你的解决方案。在这种情况下,在我的代码中的一行: Set handles = m_chromeWebdriver.getWindowHandles();尽管我有 2 个打开的 chrome 窗口,但我的设置大小为 1。你能明白为什么吗?它不会发生在我的原始代码上。谢谢。
  • @dushkin 太好了!!!你能接受这个答案作为你的问题的解决方案来结束这个讨论吗?欢迎您在getWindowHandles 上提出另一个问题,以便我们为您提供帮助。谢谢
  • 鉴于我在上次评论中描述的问题,这是一个相当大的问题,因为我无法检查解决方案...我有一个 chrome 窗口和一个弹出窗口,我需要访问它,但不能因为问题。
猜你喜欢
  • 2018-05-05
  • 1970-01-01
  • 2018-12-29
  • 1970-01-01
  • 2015-09-14
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 2017-02-23
相关资源
最近更新 更多