如何更改 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()
輸出
廣告