如何在Selenium中更改Google Chrome用户代理?

我正在尝试找出一种方法,每当我在此特定脚本中通过Selenium(在Python中)打开Chrome时,Chrome页面都会自动打开,并选择另一个用户代理-

在这种情况下为Microsoft Edge Mobile(但我会从桌面访问它)。

因此,在进行了一些研究之后,我能够整理以下代码,我认为这些代码将在Chrome中执行用户代理开关,然后打开一个新的Bing.com页面:

from selenium import webdriver 

from selenium.webdriver.chrome.options

import Options opts = Options()

opts.add_argument("user-agent=Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 640 XL LTE) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Mobile Safari/537.36 Edge/12.10166")

driver = webdriver.Chrome(chrome_options=opts)

driver = webdriver.Chrome("D:\_")

driver.get("https://www.bing.com/")

但是,该代码似乎无效,并在打开指定网页之前停止。我相当确定代码的前半部分已关闭,但我不确定如何执行。任何帮助都将不胜感激。

回答:

使用随机 用户代理的

一种简单方法是使用Python的fake_useragent模块,如下所示:

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

from fake_useragent import UserAgent

options = Options()

ua = UserAgent()

userAgent = ua.random

print(userAgent)

options.add_argument(f'user-agent={userAgent}')

driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\WebDrivers\ChromeDriver\chromedriver_win32\chromedriver.exe')

driver.get("https://www.google.co.in")

driver.quit()

连续执行3次的结果如下:

  1. 第一次执行:

    Mozilla/5.0 (Windows NT 4.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36

  2. 第二次执行:

    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.517 Safari/537.36

  3. 第三次执行:

    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17

以上是 如何在Selenium中更改Google Chrome用户代理? 的全部内容, 来源链接: utcz.com/qa/412864.html

回到顶部