2017-11-28 11 views
1

Selenium経由でページのHTMLにアクセスしようとしています。 Firefoxのドライバからのアクセスがうまくいっても、PhantomJSではアクセスできず、ページが全くロードされません。コードは以下のとおりである:Python Selenium:PhantomJSドライバでDOMにアクセスできません

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.support.wait import WebDriverWait 

try: 
    driver = webdriver.PhantomJS(executable_path='/Setups/phantomjs-1.9.8-macosx/bin/phantomjs') 
    driver.maximize_window() 
    # driver = webdriver.Firefox() 
    driver.get('https://www.propertyshark.com/mason/') 
    element_present = EC.presence_of_element_located((By.NAME, 'search_token')) 
    WebDriverWait(driver, 5).until(element_present) 
    print(driver.page_source) 

except Exception as ex: 
    print(str(ex)) 
finally: 
    driver.save_screenshot('screen.png') 
    driver.quit() 

例外では、それはそれだメッセージMessage:を残します。

理想的には、Python requestsを使用したいと思っていましたが、JSベースのサイトのために動作しません。

+0

私はあなたの問題はわかりませんが、Ubuntu 16.04(64ビット)のphantomJS 2.1.1とPython 3.6(Selenium 3.7)を使用しているコードは問題なく動作しています。画面上のHTML。 phantomJSの最新バージョンを使用していますか?おそらくあなたのバージョンを更新することでこの問題は解決されます。 – SRC

+0

phantomjsのバージョンの問題と思われる – Volatil3

+1

Phantomjsの更新後に解決しましたか? – SRC

答えて

0

まずPhantom JSのバージョンを更新してください。うまくいけばそれは問題を解決するでしょう。