2011-11-27 12 views
8

私はPythonでSeleniumを使用しているWebサイトのスクレイピングプロジェクトに取り組んでいます。ブラウザでホームページを開くと、適切に開きます。Seleniumのwebdriverでユーザーエージェントを渡します

しかし、Seleniumでwebdriver()からウェブページを開こうとすると、まったく別のページが開きます。

私は、user-agent(何が呼び出されているかわかりません)を検出でき、ブラウザなどのプロパティを確認できると思います。

webdriver()のプロパティを渡して、正しいホームページが読み込まれるようにすることは可能ですか?ユーザーエージェントを想定し

おかげ

+0

「まったく別のページを開く」とはどういう意味ですか?異なるURLまたはサイトの要素が異なって見えますか? – maguschen

答えて

26

Pythonバージョンのwebdriverでユーザーエージェントを変更するには、ブラウザのプロファイルを変更します。プロファイルパラメータを渡して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)を呼び出す)

をあなたはどのようなユーザーエージェントに不明な場合stringは、ページを正しく表示し、そのページをコピーして貼り付けるブラウザで、「私のユーザーエージェントは何ですか?」という検索を行います。

希望するものを並べ替えます。

0

が問題であり、Javaであなたはこのようにそれを変更することができます。

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

は、ドキュメントhereを参照してください。