2011-11-27 48 views
8

我正在使用Python中的Selenium在網站上抓取項目。當我通過瀏覽器打開主頁時,它會正常打開。通過Selenium中的webdriver傳遞用戶代理

但是,當我嘗試通過Selenium中的webdriver()打開網頁時,它會打開一個完全不同的頁面。

我想,它能夠檢測到user-agent(不知道它叫什麼),並能夠檢查瀏覽器的屬性或其他東西。

是否可以通過webdriver()傳遞屬性,以便加載正確的主頁。

感謝

+0

你的意思是「它打開了一個完全不同的頁面」。不同的網址或網站上的元素看起來不同? – maguschen

回答

26

更改webdriver的python版本中的用戶代理是通過更改瀏覽器的配置文件完成的。我只通過傳遞參數來完成webdriver.Firefox()。你需要做到以下幾點:

from selenium import webdriver 
profile = webdriver.FirefoxProfile() 
profile.set_preference("general.useragent.override","your_user_agent_string") 
driver=webdriver.Firefox(profile) 

你想改變,你將需要重新啓動你的web瀏覽器的用戶代理(即調用driver=webdriver.Firefox(profile)再次)

如果你不能確定你的用戶代理每次字符串是在正確顯示頁面的瀏覽器上搜索「我的用戶代理是什麼」,只需複製並粘貼該頁面即可。

希望對它進行分類。

0

假設用戶代理的問題,在Java中,你可以修改它是這樣的:

FirefoxProfile profile = new FirefoxProfile(); 
profile.addAdditionalPreference("general.useragent.override", "some UA string"); 
WebDriver driver = new FirefoxDriver(profile); 

見文檔here

相關問題