作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不太清楚selenium中execute_script
和execute_async_script
之间的区别。
将 python-selenium 中的这个示例放入 pytest 函数中:
driver.get(url)
js = '''
var video = document.getElementById("myVideo");
video.onplaying=function() {
return "play";
};
'''
video_play = driver.execute_script(js)
assert video_play == "play"
结果是:
E AssertionError: assert None == 'play'
我错过了什么?我应该在js中使用execute_async和async/await函数吗?你能给我举一些例子吗?
最佳答案
您需要为此使用异步脚本。
driver.get(url)
js = '''
var callback = arguments[arguments.length - 1];
var video = document.getElementById("myVideo");
video.onplaying=function() {
callback ("play");
};
setTimeout(function(){
callback("notplayed");
}, 2000);
'''
video_play = driver.execute_async_script(js)
assert video_play == "play"
上面的作用是,它最多等待 2 秒才能播放,如果没有播放,则返回 notplayed
。
请记住,在脚本完成之前调用不会返回。因此,不要认为您可以在异步脚本之后执行其他代码。在回调或异步超时之前,代码将卡在 execute_async_script
关于 python Selenium : execute_script vs execute_async,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46021802/
我不太清楚selenium中execute_script和execute_async_script之间的区别。 将 python-selenium 中的这个示例放入 pytest 函数中: drive
我不太清楚selenium中execute_script和execute_async_script之间的区别。 将 python-selenium 中的这个示例放入 pytest 函数中: drive
我想知道 Cassandra 查询中 execute_async() 和 execute_concurrent() 的区别。 最佳答案 execute() 将运行一个语句作为阻塞调用,直到语句执行完毕
我是一名优秀的程序员,十分优秀!