python - Python:使用 Selenium 和 ChromeDriver 进行远程调试
问题描述
版本:
Windows (10)、Chrome-(89.0.4389.128)、ChromeDriver-(89.0.4389.23)、Selenium-(3.141.0)
问题:
我目前对 ChromeDriver/Selenium 的远程调试器选项有一些问题。我可以使用以下方法打开一个新的 Chrome 页面并导航到我想要的任何位置:
C:\Users\test>chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\temp\test"
但是,当我尝试运行下面的代码时,在我退出页面并获得以下信息之前什么都没有发生:
' SessionNotCreatedException: 无法从渲染器接收消息'。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver_path = 'D:\Anything\chromedriver.exe'
driver = webdriver.Chrome(driver_path, options=chrome_options)
print(driver.title)
任何建议将不胜感激。如果我遗漏了任何重要信息,我很乐意回答。
附带问题:是否需要启用 Chrome 开发人员工具才能使用远程调试?
谢谢!
解决方案
它应该是:
chrome_options.add_argument('remote-debugging-port=9222')
您可能还需要将路径中的反斜杠转义为:D:\\Anything\\chromedriver.exe
经测试可与 Chrome>=90 一起使用。
推荐阅读
- shell - Jenkins 文件中的“sh”命令是否启动新会话或新 shell?
- python - 如何在 django 中为每个请求添加过滤器?
- python - Keras model.fit() 返回 TypeError: 'NoneType' object is not callable when using tf.data.Dataset.from_generator
- css - 我需要从商店页面隐藏运输类别
- ios - Flutter 中的 SnackBar 在 iOS 上不会变得透明
- python - 我可以在 Python 中使用 clang.cindex 解析打印所有 C++ 代码行吗?
- php - 如何在 WooCommerce 中编辑“没有足够的单位..”错误消息
- reactjs - 更新父级的反应状态非常慢
- python - 在 Raspberry Pi 上使用 Python 刷新 Google Calendar API 的身份验证令牌
- regex - 正则表达式匹配所有变量,但排除大写单词