【发布时间】:2017-11-28 09:28:56
【问题描述】:
我正在尝试通过 Selenium 访问页面的 HTML。当通过 Firefox 驱动程序访问时,可以正常访问但不能使用 PhantomJS 并且它根本不加载页面。代码如下:
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 的站点,这不起作用。
【问题讨论】:
-
我不确定您的问题是什么,但是您的代码在 Ubtuntu 16.04(64 位)中使用 phantomJS 2.1.1 和 Python 3.6(以及 Selenium 3.7)运行没有任何问题并打印出来在屏幕上输出大量的 HTML。你确定你使用的是最新版本的 phantomJS 吗?也许更新你的版本会解决这个问题。
-
好像phantomjs版本问题
-
更新Phantomjs后解决了吗?
-
顺便说一句,我刚刚遇到this 也许你也可以看看:)