это работает, если я запускаю нижеприведенную команду вручную:
google-chrome --remote-debugging-port=9222 --user-data-dir=\"/usr/local/xxx\"'
, тогда я должен также вручную открыть вкладку в существующем сеансе. А затем запустите сценарий Selenium для получения данных с веб-страницы, открытой вручную.
Я хотел бы автоматизировать эти шаги и предложил следующий сценарий, но, к сожалению, он не работает.
- этоЕсть ли способ иметь скрипт, который открывает Chrome в режиме отладки, затем открывает новую вкладку, а затем подключается к нему с помощью веб-драйвера selenium?
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