当前位置: 首页 > 知识库问答 >
问题:

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

刘焱
2023-03-14

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

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

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

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

共有3个答案

朱皓
2023-03-14

现在,由于幽灵驱动程序与PhantomJS捆绑在一起,通过硒使用它变得更加方便。

按照Pykler的建议,我尝试了PhantomJS的节点安装,但实际上我发现它比PhantomJS的独立安装慢。我猜独立安装之前没有提供这些功能,但从v1开始。9、它确实如此。

  1. 安装PhantomJS(http://phantomjs.org/download.html)(如果您在Linux,以下说明将有助于https://stackoverflow.com/a/14267295/382630)
  2. 使用pip安装Selenium。

现在你可以这样用了

import selenium.webdriver
driver = selenium.webdriver.PhantomJS()
driver.get('http://google.com')
# do some processing

driver.quit()
田宇
2023-03-14

PhantomJS最近完全放弃了Python支持。然而,PhantomJS现在嵌入了Ghost驱动程序。

一个新的项目已经开始填补空白:ghost.py。你可能想用它来代替:

from ghost import Ghost
ghost = Ghost()

with ghost.start() as session:
    page, extra_resources = ghost.open("http://jeanphi.me")
    assert page.http_status==200 and 'jeanphix' in ghost.content
涂泰平
2023-03-14

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

  1. 安装NodeJS

安装后,您可以使用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')

参考资料:

  • http://selenium-python.readthedocs.io/
  • 我如何设置一个代理phantomjs/在python网络驱动?
  • https://dzone.com/articles/python-testing-phantomjs
 类似资料:
  • 问题内容: 我想在Python中使用PhantomJS。我用谷歌搜索了这个问题,但是找不到合适的解决方案。 我发现 可能是一个不错的选择。但是我无法通过一些争论。 使用可能是目前合适的解决方案。我想知道是否有更好的解决方案。 有没有办法在Python中使用PhantomJS? 问题答案: 在python中使用PhantomJS的最简单方法是通过Selenium。最简单的安装方法是 安装NodeJS

  • 问题内容: 我希望Jenkins为开放拉取请求中的每个分支自动找到并运行测试套件。我找不到的某些Jenkins插件有可能吗? 问题答案: 最近为Jenkins发布了一个新插件-Github pull request builder 。 如果它按锡罐上的说明去做,那可能就是您想要的。

  • 现在我有一个这样的列表对象: 我试图在它上执行条(),并得到这样的结果: 有没有一种优雅的方式? ps:谢谢4@oockashek的建议,我已经把lst 从改为

  • 问题内容: 我们正在开发S60版本,该平台具有不错的Python API。 但是,关于Android上的Python尚无任何官方资料,但是由于Jython存在,有没有办法让蛇和机器人一起工作? 问题答案: 一种方法是使用: 开源Python库,用于快速开发利用创新用户界面的应用程序,例如多点触控应用程序。 可在和上运行。你可以在所有受支持的平台上运行相同的代码。

  • 问题内容: 我需要知道是否存在从子模块访问父模块的方法。如果我导入子模块: 我有-是否有一些Python魔术可以从中访问模块?上课与此类似。 问题答案: 如果您已经访问了模块,则通常可以从词典中访问它。Python不会使用名称保留“父指针”,特别是因为这种关系不是一对一的。例如,使用您的示例: 如果你会注意到存在的在模块只是一个假象在里面的语句。只要您需要该模块即可。 实际上,将来的版本可能不再导

  • 我想在我的机器人中制作移动控制接口。所以我制作了一个移动应用程序,但没有安装ros java。 当我尝试安装时,我收到“找不到包”错误。 $ sudo apt-get install ros-noetic-rosjava [sudo]Abdul samet的密码:读取包列表...完成建立依赖关系树读取状态信息...完成E:找不到包ros-noetic-rosjava