当使用Chrome作为Selenium webdriver时,如下所示:
from selenium import webdriver
driver = webdriver.Chrome(executable_path='chromedriver.exe')
driver.close()stdout的第一行总是如下所示:
DevTools listening on ws://127.0.0.1:13007/devtools/browser/53aa377a-3789-4a8a-a565-dfd0f3622d38我怎样才能用代码获得这个地址?我没有看到可能包含此信息的driver实例的任何明显的方法或属性(仅从名称判断)。
发布于 2019-12-18 22:27:39
我不知道如何直接使用webdriver获取它。
但这里有两种选择:
from selenium import webdriver
tmpChromeDir = 'c:\tmp\ChromeTmp'
options = webdriver.ChromeOptions()
options.add_argument('user-data-dir=' + tmpChromeDir)
driver = webdriver.Chrome(chrome_options=options)
with open(tmpChromeDir + '/DevToolsActivePort') as fp:
port = fp.readline().replace("\n", "")
path = fp.readline().replace("\n", "")
print('---> ws://127.0.0.1:' + port + path)或
from selenium import webdriver
import requests
options = webdriver.ChromeOptions()
options.add_argument('remote-debugging-port=9222')
driver = webdriver.Chrome(chrome_options=options)
result = requests.get('http://127.0.0.1:9222/json/version').json()
print(result['webSocketDebuggerUrl'])发布于 2018-02-25 11:34:57
主机:driver.command_executor._conn.host
rest:如果可以做到这一点,我非常确定您将需要使用you驱动程序来执行javascript。我找不到任何明显的方法来收集这些信息,但我很好奇为什么它在运行时对您有用?
https://stackoverflow.com/questions/48955762
复制相似问题