【问题标题】:Handling responses with Python bindings for Selenium使用 Selenium 的 Python 绑定处理响应
【发布时间】:2013-02-05 15:36:17
【问题描述】:

所以我有一个网页,其中包含一些在单击链接时会执行的 javascript。此 javascript 打开一个新窗口并调用其他一些 javascript,该 javascript 请求一个 xml 文档,然后解析该 url 以传递给视频播放器。如何使用 selenium 获得该 xml 响应?

【问题讨论】:

    标签: python selenium


    【解决方案1】:

    简短的回答,除非将 xml 发布到页面,否则您不能。长答案,您可以使用 Selenium 在页面上进行 JS 注入,以便将 xml 文档复制到您可以预期的某个隐藏页面元素,或存储到您可以打开的本地文件中。当然,这是假设 xml 文档实际上是在客户端检索的;如果这都是服务器端,您需要与后端集成或自己模拟调用。哦,最后一个要探索的选项是代理 Selenium 正在驱动的浏览器,然后检查包含 xml 的响应的流量。虽然更复杂,但实际上可以说是最好的解决方案,因为您没有修改被测系统来对其进行测试。

    【讨论】:

    • 你有一个例子说明 javascript 会是什么样子吗?谢谢!
    • 这取决于您正在测试的页面中的代码。在通过 click 事件调用现有 JS 方法之前,您必须以某种方式将您的功能注入或覆盖您的功能。
    • 所以在 Mac 上使用 Charles 之前,我已经手动完成了您的最后一个选项,但我将如何以编程方式执行此操作?
    • 谷歌搜索了一下,你会想要使用类似 warriorhut.org/whatwg/websocket-proxy.py 的东西来动态创建代理,然后使用浏览器配置(如 Firefox 中的配置文件)来启动指向你的代理的 webdriver seleniumhq.org/docs/04_webdriver_advanced.jsp .
    猜你喜欢
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多