【问题标题】:Python Selenium: Unable to access DOM with PhantomJS DriverPython Selenium:无法使用 PhantomJS 驱动程序访问 DOM
【发布时间】: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 也许你也可以看看:)

标签: python selenium phantomjs


【解决方案1】:

首先更新您的 Phantom JS 版本。希望它能解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-24
    • 2015-03-08
    • 1970-01-01
    • 2014-04-03
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    相关资源
    最近更新 更多