如何更改 Selenium 驅動程式的使用者代理?


我們可以更改 Selenium webdriver 的使用者代理。使用者代理頭包含一個特定字串,用於提供網路協議以及有關作業系統、軟體版本、應用程式等詳細資訊。

Selenium 確實具有獲取或修改使用者代理的功能。這是藉助JavaScript 執行器完成的。Selenium 使用execute_script方法執行 JavaScript 命令。

要獲取使用者代理資訊,我們必須將返回的navigator.userAgent引數傳遞給該方法。要更改使用者代理,我們應藉助ChromeOptions類。

然後對建立的物件應用add_argument方法。我們將使用者代理和<使用者代理的值>作為引數傳遞給該方法。最後,此資訊將傳遞給驅動程式物件。

語法

op = webdriver.ChromeOptions()
op.add_argument("user-agent=<user agent value>")

示例

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
#object of Options class
op = webdriver.ChromeOptions()
#add user Agent
op.add_argument
("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
+"AppleWebKit/537.36 (KHTML, like Gecko)"
+"Chrome/87.0.4280.141 Safari/537.36")
#set chromedriver.exe path
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe",
options=op)
#maximize browser
driver.maximize_window()
#launch URL
driver.get("https://www.seleniumhq.org/download/");
#get user Agent with execute_script
a= driver.execute_script("return navigator.userAgent")
print("User agent:")
print(a)
#close browser session
driver.quit()

輸出

更新日期:2021 年 2 月 1 日

12K+ 瀏覽

開啟您的職業生涯

完成課程獲得認證

開始
廣告