【问题标题】:Possible for Javascript to callback/signal Selenium?Javascript 可以回调/向 Selenium 发送信号吗?
【发布时间】:2013-11-18 21:50:24
【问题描述】:

假设我们在实现 AJAX 请求的网页上使用 Selenium,该请求在特定元素 #content 中动态填充内容。

#content 始终包含 5 个孩子,其中不包含类、id 或任何其他属性或唯一标识符。在一个随机的时间间隔(1 毫秒到 10,000 毫秒之间),一个 AJAX 请求将触发,在五个元素中的每一个元素中重新填充文本,而不会实际删除元素本身。

如何设置一个回调或信号,它可以与 Web 浏览器外部的应用程序进行通信,一个 AJAX 请求已被触发并完成......此时我们现在可以查找新的价值观?

我已将示例网站场景设置在:http://joshburns.me/js-test/

【问题讨论】:

    标签: javascript jquery python ajax selenium


    【解决方案1】:

    您可以在 python 中定义一个等待循环来主动检查 javascript 是否处于空闲状态。然后操作:

    您等待 Javascript 完成的函数(一旦调用它只会在 javascript 未在文档上运行时返回):

        def waitForJavaScript(browser):
          while True:
            if(browser.execute_script('return document.readyState') == 'complete')
              return
    

    【讨论】:

      猜你喜欢
      • 2017-07-18
      • 1970-01-01
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多