我正在使用Python中的Selenium开发网站抓取项目。当我通过浏览器打开主页时,它会正常打开。
但是,当我尝试在Selenium中通过webdriver()
打开网页时,会打开一个完全不同的页面。
我认为,它能够检测到user-agent
(不确定它的名称),并能够检查浏览器的属性或其他内容。
是否可以通过webdriver()
传递属性,以便加载正确的主页。
由于
答案 0 :(得分:27)
通过更改浏览器的配置文件来更改python版webdriver中的用户代理。我只通过传递一个profile参数为webdriver.Firefox()
做了这个。您需要执行以下操作:
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override","your_user_agent_string")
driver=webdriver.Firefox(profile)
每次您想要更改用户代理时,都需要重新启动网络浏览器(即再次致电driver=webdriver.Firefox(profile)
)
如果您不确定您的用户代理字符串是什么,请在正确显示该页面的浏览器上搜索“我的用户代理是什么”,然后复制并粘贴该页面。
希望对其进行排序。
答案 1 :(得分:1)
假设用户代理是问题,在Java中你可以像这样修改它:
FirefoxProfile profile = new FirefoxProfile();
profile.addAdditionalPreference("general.useragent.override", "some UA string");
WebDriver driver = new FirefoxDriver(profile);
请参阅文档here。