use*_*355 3 selenium web-scraping python-3.x selenium-chromedriver pageloadstrategy
我想加快 selenium 上页面的加载时间,因为我不需要 HTML 以外的任何东西(我正在尝试使用 BeautifulSoup 抓取所有链接)。使用 PageLoadStrategy.NONE 无法抓取所有链接,并且 Chrome 不再支持 PageLoadStrategy.EAGER。有谁知道在 python 中获取 PageLoadStrategy.EAGER 的解决方法?
ChromeDriver是为 Chromium实现WebDriver 有线协议的独立服务器。Chrome和Chromium仍在实施和转向W3C 标准的过程中。目前,ChromeDriver适用于 Android 版 Chrome 和桌面版 Chrome(Mac、Linux、Windows 和 ChromeOS)。
根据当前的WebDriver W3C 编辑草案,以下是页面加载策略表,它将pageLoadStrategy 功能关键字链接到页面加载策略状态,并显示与其对应的文档就绪状态:
但是,如果您观察ChromeDriver的当前实现,Chrome DevTools确实会考虑以下document.readyStates:
document.readyState == 'complete'document.readyState == 'interactive'这是相关日志示例:
[1517231304.270][DEBUG]: DEVTOOLS COMMAND Runtime.evaluate (id=11) {
"expression": "var isLoaded = document.readyState == 'complete' || document.readyState == 'interactive';if (isLoaded) { var frame = document.createElement('iframe'); frame.name = 'chromedriver dummy frame'; ..."
}
Run Code Online (Sandbox Code Playgroud)
根据WebDriver 状态,您将根据WebDriver规范中的内容找到所有WebDriver 命令的列表及其在ChromeDriver中当前的支持。一旦各个方面的实现完成,PageLoadStrategy.EAGER必然会在功能上出现在Chrome Driver中。
| 归档时间: |
|
| 查看次数: |
8866 次 |
| 最近记录: |