【问题标题】:How to send data from a Python to PhantomJS?如何将数据从 Python 发送到 PhantomJS?
【发布时间】:2015-07-16 12:44:06
【问题描述】:

我需要使用 PhantomJS 编写一些测试。基本上我需要提交表单,但为此我需要存储在 MySQL 数据库中的数据。

我正在考虑使用 Python 并从 Python 调用 PhantomJS,但我不知道将数据传递给 PhantomJS 脚本的最佳方法是什么。

例如,我可以通过命令行传递 JSON 吗?

$ phantomjs script.js "{first_name: 'Peter', last_name: 'Brown'}"

请指导我如何做到这一点。

【问题讨论】:

    标签: python phantomjs


    【解决方案1】:

    要使用 Python 代码编写浏览器测试,最好的选择是 Selenium Web Driver,它具有 phantomjs backend。存在 Python test frameworks and libraries, like Splinter, which aid in this use case

    另一方面,如果您希望使用 phantomjs 脚本来调用 Python 代码,则需要生成 Python 进程来执行 Python 脚本,然后通过文件/管道/其他通信渠道返回数据。这要复杂得多。

    如果你执行PhantomJS tests in Node,你也可以从 PhantomJS 脚本中读取你的 MySQL 数据库。 There is MySQL driver for Node.js。另一方面,这不再是纯粹的 PhantomJS 执行环境了。

    【讨论】:

    • PhantomJS 的执行环境与 node.js 不同。你不能只在 PhantomJS 中使用任意模块。正常工作,但更复杂的模块,如建议的 mysql 模块可能无法工作。
    • @ArtjomB。啊 - 这是有道理的。无法使用 Node 本身运行 phantomjs 测试?
    • 当然,可以使用github.com/sgentle/phantomjs-node 之类的桥接器,但语法略有不同。
    猜你喜欢
    • 2013-10-25
    • 2018-04-04
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 2018-01-15
    相关资源
    最近更新 更多