2017-06-26 19 views
2

私はこの問題をスタックオーバーフローの投稿から解決しようとしていますが、問題の関連トピックは見つかりません。デスクトップモード(常にモバイルモード)でPhantomJSのWebページを開くことができません

私は自動的に自分のFacebookアカウントにログインし、Facebookが提供するいくつかの機能を利用する自動化されたpythonスクリプトを作成しています。

私はセレンを使用すると、私は通常、Chromeブラウザ上のプログラムの実行を持っていると私は

driver = webdriver.Chrome() 

を、次のようなコードを使用し、それはだから、私は、私はそこから何をしたいものの残りの部分をプログラムプログラムで何が起こっているかを視覚的に簡単に確認できます。しかし、私がPhantomJSブラウザに切り替えると、このプログラムはウェブサイトのモバイル版(Facebookのアンドロイド/イオス版のように)でFacebookを実行します。ここでは、それは誰もがデスクトップモードにこれを変換する方法を理解する試みで私を助けることができるかどうフェイスブックのモバイル版が異なっよりもコード化されているので、私は、思っていた

Mobile Version

どのように見えるかの例です。デスクトップ版で、この違いのためにコードをやり直したくありません。これはPhantomJS上で動作させる必要があります。なぜなら、Google Chromeをほとんど開かない低電力のラズベリーパイデバイス上で動作するからです。

私はそれがうまくいっているかどうかを確認するために次のことを試してみましたが、それは助けになりませんでした。

headers = { 'Accept':'*/*',              
'Accept-Encoding':'gzip, deflate, sdch',          
'Accept-Language':'en-US,en;q=0.8',           
'Cache-Control':'max-age=0',             
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36'         

} 

driver = webdriver.PhantomJS(desired_capabilities = headers)     
driver.set_window_size(1366, 768) 

ご協力いただければ幸いです。

+0

[ビューポート](http://phantomjs.org/api/webpage/property/viewport-size.html)を設定して適切な比率のビューを設定する必要がありますか?また、[この回答](https://stackoverflow.com/a/39680711/5320906) – snakecharmerb

+0

こんにちは、クイック返信いただきありがとうございます。私はウィンドウのサイズを適切に設定しようとしました。私もしました driver.set_window_size(1366,768) また、PhantomJSにはヘッダが含まれていて、正常に動作することを確認しています。これらのオプションのどちらも機能しませんでした。ちょうどスクリーンショットにモバイルウェブサイトのより大きなバージョンが表示されました –

+0

私もGoogle.comでこの問題に直面しました。解決できませんでした。 –

答えて

1

私はPhantomJS SeleniumとPythonで同じ問題があり、次のコードで解決しました。

from selenium import webdriver 
from selenium.webdriver import DesiredCapabilities 

desired_capabilities = DesiredCapabilities.PHANTOMJS.copy() 
desired_capabilities['phantomjs.page.customHeaders.User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) ' \ 
                    'AppleWebKit/537.36 (KHTML, like Gecko) ' \ 
                    'Chrome/39.0.2171.95 Safari/537.36' 
driver = webdriver.PhantomJS('./phantom/bin/phantomjs.exe', desired_capabilities=desired_capabilities) 
driver.get('http://facebook.com') 
関連する問題