python - 在 chrome 调试模式下 Selenium-webdriver 打开的现有浏览器会话中打开网页
问题描述
如果我手动运行以下命令,这将有效:
google-chrome --remote-debugging-port=9222 --user-data-dir=\"/usr/local/xxx\"'
然后我还必须手动在现有会话中打开一个选项卡。然后运行 Selenium 脚本以从手动打开的网页中获取数据。
我想自动化这些步骤并想出了下面的脚本,但不幸的是它不起作用。
有没有办法让脚本在调试模式下打开 chrome,然后打开一个新选项卡,然后使用 selenium webdriver 连接到它?
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import webbrowser
import subprocess
from subprocess import call
import os
myCmd = 'google-chrome --remote-debugging-port=9222 --user-data-dir=\"/usr/local/xxx/Project\"'
print (myCmd)
subprocess.call(myCmd,shell=True)
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
#Change chrome driver path accordingly
driver = webdriver.Chrome('/usr/local/xxx/chromedriver') # Optional argument, if not specified will search path.
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
webbrowser.open('https://www.seleniumhq.org')
# print driver.title
解决方案
推荐阅读
- sql - 使用 TSql 的 SQL 动态自交叉连接
- vba - 模板插件仅在 Windows 10 /Office 365 中崩溃 Word
- postgresql - Elixir:如何使用双空格搜索数据库数据
- highcharts - Highcharts中水平条之间的间距
- protobuf-net - Protogen 生成列表
而不是 int 数组 - angular - 为什么使用多个路由器插座会导致错误?
- java - 我需要一种简单的方法来从另一个类调用 java 的 swingworker publish() 方法
- path - 当源代码中的路径与文件系统中的路径不匹配时,如何使 Ctrl-click 在 Visual Studio Code 中工作?
- python - 如何防止哨兵捕获某些未捕获异常的事件并记录消息?
- html - 引导网格在移动设备上没有响应