我希望得到一些帮助,看看是否有一个解决这个问题的方法。我正在测试,使一个脚本,可以连接到浏览器是由用户启动。
成功后我能做什么:
我可以连接到通过此命令启动的浏览器:"c:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9244 --user-data-dir="C:\Users\user\OneDrive\Plocha\záložky\msedge1"
命令必须有一个指定的用户数据目录,该目录必须不同于基本用户边缘数据目录。(不同于:C:\用户\用户\应用程序数据\本地\Microsoft\边缘\用户数据)
我无法做到的:
目标是连接到用户启动的浏览器。所以我试图从这个命令中找到边缘进程的端口:netstat -AB
。我复制了进程名称的IP地址:msedge.exe并将其粘贴到脚本中,它思考了一分钟,得出了以下结果:https://i.stack.imgur.com/mGL4d.png
脚本:
import selenium
from selenium import webdriver
from selenium.webdriver.edge.options import Options
from selenium.webdriver.edge.service import Service
edge_options = Options()
edge_options.add_experimental_option("debuggerAddress","127.0.0.1:55718")
edge_options.use_chromium = True
s = Service('C:/Users/WDAGUtilityAccount/Downloads/edgedriver_win64/msedgedriver.exe')
driver = webdriver.Edge(service = s, options = edge_options)
print(driver.title)
1条答案
按热度按时间4ktjp1zp1#
如果不显式启动Edge示例并应用调试参数,您将无法绑定到Edge浏览器的devtools协议。在撰写本文时,我无法找到默认情况下将这些设置应用到Edge的方法。
但是,值得将调试参数
--remote-debugging-port=9244 --user-data-dir="C:\Users\user\OneDrive\Plocha\záložky\msedge1"
添加到以下位置的Windows快捷方式中:C:\ProgramData\Microsoft\Windows\Start Menu\Programs
Microsoft Edge(右键单击)〉属性〉目标(追加调试参数)。每次通过此快捷方式启动Edge时,将启用调试器。
请注意,无论如何,这被称为远程调试,因为它被设计为 * 调试 *。请考虑在未经验证的网络端口上暴露您的日常生产浏览数据的风险。