连接已运行的Python浏览器

hs1ihplo  于 2023-02-28  发布在  Python
关注(0)|答案(1)|浏览(197)

我希望得到一些帮助,看看是否有一个解决这个问题的方法。我正在测试,使一个脚本,可以连接到浏览器是由用户启动。

成功后我能做什么:

我可以连接到通过此命令启动的浏览器:
"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)
4ktjp1zp

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时,将启用调试器。
请注意,无论如何,这被称为远程调试,因为它被设计为 * 调试 *。请考虑在未经验证的网络端口上暴露您的日常生产浏览数据的风险。

相关问题