2017-11-28 4 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

나는 당신의 문제가 무엇인지 모르지만, Ubtuntu 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 버전을 업데이트하십시오. 다행히 문제를 해결할 수 있기를 바랍니다.