如何使用通过 webdriver_manager 安装的 ChromeDriver 更改 Google Chrome UserAgent [英] How to change the Google Chrome UserAgent using the ChromeDriver installed through webdriver_manager

查看:76
本文介绍了如何使用通过 webdriver_manager 安装的 ChromeDriver 更改 Google Chrome UserAgent的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近遇到了一个问题,我无法在 selenium 中更改我的用户代理.我解决了这个问题,但后来遇到了 chrome 驱动程序问题,它需要 chrome 驱动程序版本 81.我解决了这个问题,但不知道如何将用户代理解决方案实现到特定于 chrome 驱动程序的代码中.|

I recently had an issue where I couldn't change my user-agent in selenium. I got that fixed but then had a chrome driver issue where it required chrome driver version 81. I got that fixed but don't know how to implement the user-agent solution into the chrome driver-specific code.|

代码如下:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())

以前,我是这样更改用户代理的:

Before, this is how I was changing the user agent:

from selenium import webdriver

# Below is where my code would give me the chrome driver error. So I used the solution above for that.
driver = webdriver.Chrome(executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'})

推荐答案

User-Agent

用户代理 request header 是一个特征字符串,让服务器和网络对等点识别应用程序、操作系统、供应商和/或发出请求的用户代理.

User-Agent

The User-Agent request header is a characteristic string that lets servers and network peers identify the application, operating system, vendor, and/or version of the requesting user agent.

网页浏览器的常用格式如下:

The common format for web browsers is as follows:

User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>


webdriver_manager.chrome

webdriver_manager.chrome 模块,帮助用户下载和部署 WebDriver 二进制文件.此模块中的类可用于自动搜索和下载 WebDriver 二进制文件的最新版本(或特定版本),然后通过复制或符号链接将其提取并放置到 Selenium 或其他工具应该能够使用的位置然后找到它.


webdriver_manager.chrome

webdriver_manager.chrome is the python module to help users to download and deploy WebDriver binaries. The classes in this module can be used to automatically search for and download the latest version (or a specific version) of a WebDriver binary and then extract it and place it by copying or symlinking it to the location where Selenium or other tools should be able to find it then.

总结一下,从以上几点可以推断出:

To summarize, from the above points it can be deduced that:

  • user-agent is implemented through the request header and deals with the native browser.
  • webdriver-manager is a Python module to deal with downloading and installing WebDriver binaries.

因此,它们不相互关联,可以如下组合实施:

Hence, they aren't interrelated and can be implemented combinedly as follows:

  • 代码块:

  • Code Block:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://duckduckgo.com/')
print(driver.execute_script("return navigator.userAgent;"))
# Setting UserAgent as Chrome/83.0.4103.97
driver.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'})
print(driver.execute_script("return navigator.userAgent;"))

您可以在以下位置找到一些相关的详细讨论:

You can find a couple of relevant detailed discussions in:

这篇关于如何使用通过 webdriver_manager 安装的 ChromeDriver 更改 Google Chrome UserAgent的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆