如何使用通过webdriver_manager安装的ChromeDriver更改Google Chrome UserAg



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

这是代码:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())

以前,这就是我更改用户代理的方式:

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:WebDriverschromedriver.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

User-Agent 请求标头是一个特征字符串,允许服务器和网络对等方标识请求用户代理的应用程序、操作系统、供应商和/或版本。

>语法Web 浏览器的常见格式如下:

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

webdriver_manager.铬

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

<小时 />

总结

综上所述,从以上几点可以推断出:

  • User-Agent通过请求标头实现,并与本机浏览器打交道。
  • Webdriver-manager是一个Python模块,用于处理下载和安装WebDriver二进制文件。

因此,它们不是相互关联的,可以按如下方式组合实现:

  • 代码块:

    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;"))
    
<小时 />

参考资料

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

  • 如何在Selenium中更改Google Chrome用户代理?
  • 如何使用Selenium和Python更改用户代理
  • 如何在每个请求上使用Selenium python轮换各种用户代理

相关内容

  • 没有找到相关文章

最新更新