如果我手动运行以下命令,则此方法有效:
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