You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Python的Selenium中修改Google Chrome的用户代理?

解决Chrome通过Selenium伪装成Microsoft Edge Mobile访问Bing的问题

嘿,我来帮你搞定这个用户代理切换的需求!你之前的思路方向是对的,不过可能在配置细节上需要调整,下面是完整且可直接运行的代码,还附带了关键细节的说明:

完整实现代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 配置Chrome启动选项
chrome_options = Options()

# 设置Microsoft Edge Mobile的用户代理字符串
# 这个UA可以从Edge浏览器开发者工具中获取(F12切换移动端后,控制台输入navigator.userAgent)
edge_mobile_ua = "Mozilla/5.0 (Linux; Android 10; SM-G996U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36 EdgA/114.0.1823.82"
chrome_options.add_argument(f'user-agent={edge_mobile_ua}')

# 可选:强制网站显示桌面版界面(如果需要移动端界面可删除此行)
chrome_options.add_argument('--force-desktop-site')

# 启动Chrome浏览器
driver = webdriver.Chrome(options=chrome_options)

# 打开Bing.com页面
driver.get("https://www.bing.com")

# 可选:验证用户代理是否生效(在控制台打印当前UA)
# print(driver.execute_script("return navigator.userAgent;"))

# 完成操作后记得关闭浏览器
# driver.quit()

关键细节说明

  • 用户代理字符串获取:如果上面的UA不符合你的需求,你可以自己打开Edge浏览器,按F12调出开发者工具,切换到移动端设备模拟模式,然后在控制台输入navigator.userAgent,就能拿到当前模拟设备的Edge Mobile UA,直接替换代码里的字符串即可。
  • 桌面/移动端界面切换:添加--force-desktop-site参数后,即使UA是移动端,网站也会显示桌面版界面;如果想要访问移动端Bing,直接删掉这一行就行。
  • 验证生效:代码里注释的打印UA的语句,运行后可以在控制台看到当前浏览器的用户代理,确认是否成功切换。

内容的提问来源于stack exchange,提问作者theCrabNebula

火山引擎 最新活动