小编典典

有没有办法在 Python 中使用 PhantomJS?

all

我想在Python中使用PhantomJS。我用谷歌搜索了这个问题,但找不到合适的解决方案。

我觉得os.popen() 可能是个不错的选择。但我无法向它传递一些论据。

目前使用subprocess.Popen()可能是一个合适的解决方案。我想知道是否有更好的解决方案。

有没有办法在 Python 中使用 PhantomJS?


阅读 115

收藏
2022-06-22

共1个答案

小编典典

在 python 中使用 PhantomJS 的最简单方法是通过 Selenium。最简单的安装方法是

  1. 安装NodeJS
  2. 使用 Node 的包管理器安装 phantomjs:npm -g install phantomjs-prebuilt
  3. 安装 selenium (在你的 virtualenv 中,如果你正在使用它)

安装后,您可以像使用 phantom 一样简单:

from selenium import webdriver

driver = webdriver.PhantomJS() # or add to your PATH
driver.set_window_size(1024, 768) # optional
driver.get('https://google.com/')
driver.save_screenshot('screen.png') # save a screenshot to disk
sbtn = driver.find_element_by_css_selector('button.gbqfba')
sbtn.click()

如果您的系统路径环境变量设置不正确,您需要指定确切的路径作为webdriver.PhantomJS(). 替换这个:

driver = webdriver.PhantomJS() # or add to your PATH

…具有以下内容:

driver = webdriver.PhantomJS(executable_path='/usr/local/lib/node_modules/phantomjs/lib/phantom/bin/phantomjs')

参考:

2022-06-22