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

mmvthczy  于 2023-08-01  发布在  Go
关注(0)|答案(2)|浏览(95)

我试图找出一种方法,每当我在这个特定的脚本中通过Selenium(在Python中)打开Chrome时,Chrome页面会自动打开并选择另一个用户代理-在这种情况下,Microsoft Edge移动的(但我将从桌面访问它)。
所以,在做了一些研究之后,我已经能够拼凑出以下代码,我认为这将在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/")

字符串
但是,代码似乎不起作用,并在打开指定网页之前停止。我相当肯定代码的前半部分是关闭的,但我不太确定如何关闭。任何和所有的帮助将不胜感激。

oxf4rvwz

oxf4rvwz1#

使用随机 * 用户代理 * 的简单方法是使用Python的fake_useragent模块,如下所示:

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

options = Options()
ua = UserAgent()
user_agent = ua.random
print(user_agent)

options.add_argument(f'--user-agent={user_agent}')
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


1.第二次执行:

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


1.第三次执行:

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

kyvafyod

kyvafyod2#

您应该使用selenium中的ChromeOptions。webdriver:

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.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=chrome_options)

字符串
这个应该能用

相关问题