执行Selenium脚本的替代方法

时间:2019-02-12 22:47:16

标签: selenium selenium-webdriver webdriver ghostdriver

我有一个seleniumpython 3的脚本。我需要每天早上7点运行5分钟,但是我不能仅将它放在24/7上。最简单/最好的选择是什么?

我检查了Lambda AWS,但无法在此处安装chrome(或它的无头版本),并且我没有使用服务器的经验。

2 个答案:

答案 0 :(得分:1)

AWS Lambda是实现您目标的可行解决方案-尤其是在脚本运行时间较小的情况下。他们最近将最长执行时间增加到15分钟,所以您应该没事。

在Lambda中获得无头的Chrome(在Python中为;那里充满了JS / node.js解决方案:))是可行的-我本人过去已经成功使用了该项目-{{3 }}

要在您希望的时间安排执行,您可以使用https://github.com/21Buttons/pychromeless

答案 1 :(得分:0)

要使用 Python 3 执行 Selenium 脚本而不安装浏览器,可以使用 GhostDriver

GhostDriver

Ghost Driver是使用 PhantomJS 作为后端的 Remote WebDriver 协议的实现。 GhostDriver设计为通过JavaScript API成为PhantomJS本身不可或缺的一部分。

Additional WebDriver Capabilities through GhostDriver

  • phantomjs.page.settings.SETTING = VALUE
  • phantomjs.page.customHeaders.HEADER = VALUE
  • phantomjs.page.whitelist
  • phantomjs.page.blacklist
  • unhandledPromptBehavior
  • loggingPrefs
  • phantomjs.binary.path
  • phantomjs.ghostdriver.path
  • phantomjs.cli.args
  • phantomjs.ghostdriver.cli.args

GhostDriver的主要优点

  • 屏幕截图
  • 页面自动化
  • 网络监控
  • 要在命令行上运行单元测试
  • 与QUnit结合用于测试套件

一个例子

  • 代码块:

    from selenium import webdriver
    
    driver = webdriver.PhantomJS(executable_path='/path/to/phantomjs')
    driver.get('https://www.google.com/')
    print(driver.title)
    driver.quit()
    
  • 控制台输出:

    Google