我尝试使用Watir获取JS生成的值,但失败了

时间:2015-09-06 23:59:12

标签: watir watir-webdriver

(警告:此链接是SFW,但该网站在其他网页上托管NSFW文本/音频内容,因此也许不要在工作计算机上点击。)

我正在尝试访问一系列网页like this。每个页面都流式传输M4A音频文件。页面加载后,jQuery文档就绪事件将获取音频的持续时间并将其放在页面上。

这就是我想要的价值,以及JavaScript完成插入后div.jp-duration的内容。

要做到这一点,我正在写

headless = Headless.new
headless.start
browser = Watir::Browser.start "https://soundgasm.net/u/tarkustrooper/F-Wasted-Time-The-Eagles"
duration = browser.execute_script %q{return $("div.jp-duration").innerHTML}

但我没有退回任何东西。

如果我尝试$("#jquery_jplayer_1").data('jPlayer').status.duration,期望秒数,我会回到0,即使我在Chrome控制台中尝试也可以。

我以某种方式使用Watir错误,但我不知道如何知道。如果可能的话,我会爱上一些帮助。

我在CentOS 6上使用Ruby 2.1.5,Watir 5.0.0,Watir-Webdriver 0.8.0和Headless 2.2.0。

1 个答案:

答案 0 :(得分:0)

这应该可以在不需要execute_script的情况下工作: @browser.div(class: 'jp-duration').text