Selenium 如何使用 CDP 获取 DOM 快照
要调用 CDP 的 DOMSnapshot.DOMNode,可以使用 Selenium 的 Chrome DevTools API 来与浏览器进行通信。
首先,确保你已经安装了 Selenium 库,并且已经下载并安装了 Chrome 浏览器。
然后,创建一个 ChromeOptions 对象,并启用 Chrome DevTools API:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option('debuggerAddress', 'localhost:9222')
接下来,创建一个 ChromeDriver 实例,并将 ChromeOptions 传递给它:
driver = webdriver.Chrome(options=chrome_options)
现在,你可以使用 driver.execute_cdp_cmd 命令来发送 CDP 命令。例如,要调用 DOMSnapshot.DOMNode,你可以执行以下操作:
result = driver.execute_cdp_cmd('DOMSnapshot.captureSnapshot', {})
这将捕获当前 DOM 树的快照,并将结果存储在 result 变量中。
请注意,这需要先启动一个 Chrome 浏览器实例,并且该实例必须已经打开到你要进行调试的页面上。你可以通过在命令行中运行 chrome --remote-debugging-port=9222 来启动一个 Chrome 实例,并确保它在你的代码运行之前保持打开状态。
此外,确保你的 Chrome 浏览器的版本与你使用的 Selenium 库版本兼容。你可以在 Selenium 官方文档中找到更多关于 Chrome DevTools API 的信息和示例。
原文地址: https://www.cveoy.top/t/topic/plyr 著作权归作者所有。请勿转载和采集!