我需要等到javascript匹配字符串或布尔值的结果。Selenium - 等到返回的JavaScript脚本值匹配值
凭借此javascript:
document.getElementById('video_html5').seeking;
我得到一个“假” /“真”值,我需要等到值是“假的”,所以我敢肯定,视频是不是寻求,但我只找到了等待javascript命令值的方法,而不是检查值是否与某些文本匹配的方式。
new WebDriverWait(driver, 30)
.until(ExpectedConditions.jsReturnsValue("return document.getElementById('video_html5').seeking;"));
因为在某些情况下,我得到一个非布尔值的字符串,并且需要比较这些字符串。
我发现如何做到这一点的Ruby,但没有在Java中:
wait_element = @wait.until { @driver.execute_script("return document.getElementById('vid1_html5_api_Shaka_api').seeking;").eql? false }
这工作? 'jsReturnsValue(“document.getElementById('video_html5')。seeking ==='false'?'true':undefined;”)它会直接在JavaScript中比较值,如果seek为true则返回undefined。 –