执行 selenium 脚本的替代方法
Alternatives to execute a selenium script
我有一个带有 python 3
的 selenium
脚本。我需要每天早上 7 点 运行 它 5 分钟,但我不能为了它而让我的笔记本电脑全天候 24 小时开机。 easiest/best 替代方案是什么?
我检查了 Lambda AWS
但我无法在那里安装 chrome
(或它的无头版本)并且我没有使用服务器的经验。
要使用 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
AWS Lambda 是实现您的目标的可行解决方案 - 特别是如果脚本的运行时间很短。他们最近将最长执行时间增加到 15 分钟,所以你应该没问题。
在 Lambda 中变得无头 Chrome(在 Python 中;那里充满了 JS/node.js 解决方案 :))是可行的- 我自己过去曾成功使用过这个项目 - https://github.com/21Buttons/pychromeless
要在您想要的时间安排执行,您可以使用 Amazon's CloudWatch。
我有一个带有 python 3
的 selenium
脚本。我需要每天早上 7 点 运行 它 5 分钟,但我不能为了它而让我的笔记本电脑全天候 24 小时开机。 easiest/best 替代方案是什么?
我检查了 Lambda AWS
但我无法在那里安装 chrome
(或它的无头版本)并且我没有使用服务器的经验。
要使用 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
AWS Lambda 是实现您的目标的可行解决方案 - 特别是如果脚本的运行时间很短。他们最近将最长执行时间增加到 15 分钟,所以你应该没问题。
在 Lambda 中变得无头 Chrome(在 Python 中;那里充满了 JS/node.js 解决方案 :))是可行的- 我自己过去曾成功使用过这个项目 - https://github.com/21Buttons/pychromeless
要在您想要的时间安排执行,您可以使用 Amazon's CloudWatch。