Chrome驱动程序的页面加载策略(已更新至Selenium v​​3.12.0)

Chrome驱动程序的页面加载策略(已更新至Selenium v​​3.12.0),第1张

Chrome驱动程序的页面加载策略(已更新至Selenium v​​3.12.0)

ChromeDriver 77.0 (支持Chrome 77版本)现在支持

eager
作为 pageLoadStrategy

已解决的问题1902:支持优先页面加载策略[Pri-2]


从Webdriver规格:

对于导致加载新文档的命令,该命令返回的点由 会话的页面加载策略确定

Page Loading
需要太多的时间,你需要停止下载的其他子资源(图片,CSS,JS等),你可以改变
pageLoadStrategy

通过
webdriver

在撰写本文时,

pageLoadStrategy
支持以下值:

  1. normal

这种状态导致Selenium等待整个页面加载(下载并解析了html内容和子资源)。

  1. eager

这种状态导致Selenium等待DOMContentLoaded事件(仅下载和解析html内容)。

  1. none

此策略使Selenium在完全接收初始页面内容(下载html内容)后立即返回。

默认情况下,

Selenium
加载页面时,页面会紧随。
normal
pageLoadStrategy


这是

pageLoadStrategy()


通过 DesiredCapabilities 类和 ChromeOptions 类的实例进行配置的代码块,如下所示:

  • 使用 DesiredCapabilities 类:
        package demo; //replace by your own package name    import org.openqa.selenium.WebDriver;    import org.openqa.selenium.chrome.ChromeDriver;    import org.openqa.selenium.chrome.ChromeOptions;    import org.openqa.selenium.remote.DesiredCapabilities;    public class A_Chrome_DCap_Options {        public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Utility\BrowserDrivers\chromedriver.exe"); DesiredCapabilities dcap = new DesiredCapabilities(); dcap.setCapability("pageLoadStrategy", "normal"); ChromeOptions opt = new ChromeOptions(); opt.merge(dcap); WebDriver driver = new ChromeDriver(opt); driver.get("https://www.google.com/"); System.out.println(driver.getTitle()); driver.quit();        }    }
  • 使用 ChromeOptions 类:
        package demo; //replace by your own package name    import org.openqa.selenium.PageLoadStrategy;    import org.openqa.selenium.WebDriver;    import org.openqa.selenium.chrome.ChromeDriver;    import org.openqa.selenium.chrome.ChromeOptions;    public class A_Chrome_Options_test {        public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Utility\BrowserDrivers\chromedriver.exe"); ChromeOptions opt = new ChromeOptions(); opt.setPageLoadStrategy(PageLoadStrategy.NORMAL); WebDriver driver = new ChromeDriver(opt); driver.get("https://www.google.com/"); System.out.println(driver.getTitle()); driver.quit();        }    }

pageLoadStrategy
normal
eager
并且
none
是按要求webdriver的W3C编辑草稿,但
pageLoadStrategy
作为价值
eager
仍然是一个 WIP(工作正在进行中)ChromeDriver实施。您可以在适用于Python的ChromedriverSelenium的“渴望”页面加载策略解决方法中找到详细的讨论


参考文献:

  • WebDriver导航
  • WebDriver页面加载策略
  • WhatWG document readyStateChange /准备情况


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5015884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存