如果我手动运行以下命令,这将有效:
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