python+selenium小结5:获取浏览器版本号,当前URL,当前页面title

该博客主要介绍了使用Python和Selenium获取浏览器版本号、当前URL以及当前页面title的相关内容,聚焦于信息技术中自动化测试和网页操作方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from selenium import webdriver
import time

options = webdriver.ChromeOptions()
prefs = {
    'profile.default_content_setting_values':
        {
            'notifications': 2
        }
}
options.add_experimental_option('prefs', prefs)  # 关掉浏览器左上角的通知提示
options.add_argument("disable-infobars")  # 关闭'chrome正受到自动测试软件的控制'提示
driver = webdriver.Chrome(chrome_options=options)
driver.maximize_window()
driver.implicitly_wait(10)
driver.get("https://blog.youkuaiyun.com/jusulysunbeamy")
print("浏览器版本号:", driver.capabilities["version"])  # 获取浏览器的版本号
print("获取当前URL:", driver.current_url)  # 获取当前URL
print("获取当前页面title:", driver.title)  # 获取当前页面title
time.sleep(5)
driver.quit()

 

<think>好的,我现在需要帮用户解决如何用PythonSelenium控制已经打开的Edge浏览器进行自动化操作的问题。首先,我得回忆一下用户提供的引用内容,特别是引用[2]和[3]可能相关。 用户提到他们想控制已经打开的浏览器实例,而不是重新启动一个新窗口。根据引用[2],Selenium可以通过连接调试端口来控制已打开的Chrome或Edge浏览器。这里的关键步骤应该是设置Edge的调试端口,并在代码中连接到该端口。 首先,我需要确定如何启动Edge浏览器时启用调试模式。对于Chrome,通常使用--remote-debugging-port=端口号,Edge应该类似,因为它是基于Chromium的。所以用户需要先以指定端口启动Edge,比如--remote-debugging-port=9222。这样浏览器实例会监听该端口,允许Selenium通过WebDriver连接。 接下来,在Python代码中,用户需要导入Options类,并配置debuggerAddress指向本地地址和端口。引用[2]中的示例是用于Chrome的,但Edge的配置应该类似,只是可能需要使用EdgeOptions而不是ChromeOptions。不过根据引用[3],用户之前使用过webdriver.EdgeOptions(),所以这里应该同样适用。 然后实例化浏览器对象时,传递这些选项。可能需要指定Edge的驱动路径,但根据引用[1],用户可能已经正确设置了executable_path,或者可以依赖系统路径中的驱动。需要注意的是,Edge的驱动是msedgedriver,需要确保版本浏览器匹配。 另外,引用[3]提到了如何设置下载路径和防止浏览器关闭,用户可能也需要这些选项,但当前问题主要是连接已有实例,所以可能需要先处理调试端口的设置。 可能的步骤是: 1. 启动Edge时添加调试参数。 2. 编写Python代码使用EdgeOptions配置debuggerAddress。 3. 实例化webdriver.Edge并传入选项。 4. 执行自动化操作。 不过,用户可能会遇到问题,比如如何正确启动浏览器。需要详细说明启动命令,例如在Windows的命令行中输入路径和参数。例如:"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9222 --user-data-dir=临时用户数据目录。 另外,用户可能不知道如何找到Edge的安装路径,需要给出示例路径,并提醒用户根据实际情况调整。同时,用户数据目录可能需要指定一个临时路径,避免影响现有配置文件。 然后,在代码中,用户需要从selenium导入webdriver和EdgeOptions,设置debuggerAddress为127.0.0.1:9222,并创建driver实例。代码部分可以参考引用[2]中的Chrome例子,但改为Edge的配置。 此外,需要注意版本兼容性,确保Selenium库、Edge浏览器和msedgedriver的版本兼容。如果出现连接问题,可能需要检查端口是否正确,或者是否有防火墙阻止连接。 最后,用户可能想了解如何确保浏览器不会在脚本结束后关闭,这时候可以引用[3]中的detach选项,将options.add_experimental_option('detach', True)添加到配置中,这样浏览器窗口会保持打开。 总结步骤: 1. 启动Edge时开启调试端口。 2. 配置Selenium的EdgeOptions连接到该端口。 3. 实例化driver并执行操作。 4. 处理可能的问题,如端口占用、驱动版本等。</think>要控制已打开的Microsoft Edge浏览器实例执行自动化任务,需通过Selenium连接其调试端口,具体步骤如下: ### 步骤1:启动Edge浏览器并开启调试模式 在终端中运行以下命令(路径需根据实际安装位置调整): ```bash "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9222 --user-data-dir=C:\Temp\EdgeProfile ``` - `--remote-debugging-port=9222`:设置调试端口为9222[^2] - `--user-data-dir`:指定临时用户目录以避免覆盖默认配置 ### 步骤2:编写Python代码连接已打开的浏览器 ```python from selenium import webdriver from selenium.webdriver.edge.options import Options # 配置调试端口 edge_options = Options() edge_options.add_experimental_option('debuggerAddress', '127.0.0.1:9222') # 实例化浏览器对象 driver = webdriver.Edge(options=edge_options) # 执行自动化操作 driver.get('https://www.baidu.com') print(driver.title) # 后续操作(如元素定位、表单填写等) # driver.find_element('id','kw').send_keys('test') # 关闭时保留浏览器窗口(可选) driver.close() # 仅关闭当前标签页 # driver.quit() # 完全退出浏览器 ``` > 注:需确保`msedgedriver.exe`在系统PATH中或通过`executable_path`参数指定路径[^1] ### 常见问题处理 | 问题现象 | 解决方案 | |------------------|--------------------------------------------------------------------------| | 无法建立连接 | 检查端口号是否一致,确认浏览器启动参数正确 | | 浏览器自动关闭 | 添加`options.add_experimental_option('detach', True)`[^3] | | 驱动版本不匹配 | 从[Microsoft Edge Driver](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/)下载对应版本驱动 |
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

就想讲点测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值