Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >等待页面刷新

等待页面刷新
EN

Stack Overflow用户
提问于 2012-12-05 14:00:28
回答 2查看 1.4K关注 0票数 9

以下是我在Python中尝试使用Selenium Webdriver所做的描述:我有我的网站,它接受特定产品的各种参数作为输入,并输出具有这些参数的产品的价格。我保持除一个参数之外的所有参数不变,并在for循环中更改一个特定参数,以查看价格如何根据该特定参数而变化。一旦我更改了参数,我提交表单,然后使用隐式等待,如下所示:

代码语言:javascript
运行
AI代码解释
复制
submit_btn.click()
driver.implicitly_wait(10)  
driver.find_element_by_name("Buy_Product")
soup=BeautifulSoup(driver.page_source)

当输入第一组参数时,页面是清晰的,并且它不包含名为"Buy_Product“的按钮,因此我使用下面的代码行

代码语言:javascript
运行
AI代码解释
复制
driver.find_element_by_name("Buy_Product")

为了确保代码等待该按钮出现,这意味着页面现在包含了我想要提取的价格。问题是,在第二次循环中,当我改变参数并试图获得新的价格时,按钮"Buy_Product“已经在那里了,所以隐式等待不再起作用,有时它会在价格有时间更新之前使用上一个page_source。棘手的部分是,有时即使对于不同的参数,价格也是相同的,所以我不能只检查价格的可视文本是否发生了变化。你知道如何在不使用time.sleep的情况下解决这个问题吗?

EN

回答 2

Stack Overflow用户

发布于 2012-12-06 06:35:20

这里的情况很棘手...I‘m not sure...if this helps...but a a try...

我的建议是JavaScript注入,我检查页面是否完全加载,然后等待。(c#代码片段)

代码语言:javascript
运行
AI代码解释
复制
IWait<IWebDriver> Driver_Wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(30.00));
Driver_Wait.Until(Driver => ((IJavaScriptExecutor)JS_Driver).ExecuteScript("return document.readyState").Equals("complete"));

我希望这个helps....All是最好的:-)

票数 1
EN

Stack Overflow用户

发布于 2013-01-31 00:07:53

如果Anurah27crony的解决方案对您不起作用,那么您可能还需要考虑等待jquery处于非活动状态。代码看起来基本相同,但是传入了这个javascript调用:

代码语言:javascript
运行
AI代码解释
复制
ExecuteScript("return jQuery.active == 0")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13724924

复制
相关文章
JS/JQuery页面刷新、局部刷新
//div的局部刷新 $(".dl").load(location.href+" .dl"); //全页面的刷新方法 window.location.reload()刷新当前页面. parent.location.reload()刷新父亲对象(用于框架) opener.location.reload()刷新父窗口对象(用于单开窗口) top.location.reload()刷新最顶端对象(用于多开窗口)
小语雀网
2022/05/06
6.1K0
jquery刷新当前页面、刷新父级页面
Jensen_97
2023/07/19
7860
js实现页面刷新
reload 方法,该方法强迫浏览器刷新当前页面。 语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新")
爱喝水的木子
2022/01/12
21.6K0
JavaScript禁用页面刷新
JavaScript禁用页面刷新代码如下: //禁用F5刷新 document.onkeydown = function () { if (event.keyCode == 116) { event.keyCode = 0; event.cancelBubble = true; return false; } } //禁止右键弹出菜单 document.oncontextmenu = function () { return fals
磊哥
2018/05/08
5.1K0
vue强制刷新页面方法_vue页面回退不刷新
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/17
5.2K0
javascript 页面后退并刷新
这样确实可以做到后退的功能,但是项目中,常常并不只是后退就能完成需求,往往需要在后退的同时,刷新后退的页面信息,比如后退到首页同时刷新首页的最新数据,这样的需求通过上面这种方法就没法满足了,为了实现这个需求,我们需要使用到
全栈程序员站长
2022/09/15
2.9K0
自动刷新页面
script> <!--  var limit="0:15" if (document.images){ var parselimit=limit.split(":") parselimit=parselimit[0]*60+parselimit[1]*1 } function beginrefresh(){ if (!document.images) return if (parselimit==1) window.location.reload() else{  parselimit-=1 curmin
张善友
2018/01/19
2.6K0
JS 刷新页面
如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。
week
2018/08/27
12.2K0
Vue刷新当前页面
这个姿势是利用了 history 中前进和后退的功能,传入 0 刷新当前页面。但是有一个问题就是页面整个刷新过程中会白屏,严重影响用户的体验感,效果不好。
青梅煮码
2023/03/13
2.9K0
vue刷新页面的方法_vue局部刷新页面
在项目中经常遇到一个问题,例如新增完表单数据和需要重新刷新页面。类似的业务还有很多。这时我们可以考虑的方式如下
全栈程序员站长
2022/11/03
2.8K0
js跳转页面并刷新(本页面跳转)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128190.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/27
24.2K0
html如何只刷新页面指定,js控制页面刷新 JS刷新当前页面的几种方法总结
JavaScript location.reload() 方法 Location 对象的 reload() 方法用于重新加载当前文档(页面),语法如下: location.reload( false|true ) 说明(实战帮有javascript课程与实训项目哦,可以一试) 如果该方法参数为 false 或者省略参数。
全栈程序员站长
2022/09/14
14.4K0
vue页面强制刷新缓存不清除_vuex刷新页面数据
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/08
3.3K0
页面窗口改变,自动刷新页面
        原生js提供了自动刷新和窗口改变的方法,本次介绍一下窗口改变时候执行自动刷新!本次demo配合一个随机数来观察转化页面的变化!
十月梦想
2018/08/29
3.1K0
js刷新页面
如何实现刷新当前页面呢?借助js你将无所不能。 1,reload 方法,该方法强迫浏览器刷新当前页面。 语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新") 2,replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替
前朝楚水
2018/04/02
18.1K0
fasadmin选项卡页面单独刷新表格数据但不刷新页面
遇到的问题,在一个选项卡中自定义了一个按钮,点击后会更新数据,想要表格数据更新,但不想让页面一起刷新,就借助页面上的刷新按钮实现,Ajax成功后调用下按钮点击事件,具体代码在下面。
超级小可爱
2023/02/22
2.2K0
PHP 实现回退页面并刷新
1. HTML 代码 ---- 输入框内写入内容 站长源码网 <form action="1.php"> <input type="text"> <button>立即跳转</button> </form> 2. PHP 实现回退页面并刷新 ---- // 回退页面不刷新 // echo "<script>alert('回退页面不刷新!');history.back();</script>"; // 回退页面并刷新 - 通过按钮触发 // echo '<a href="javascr
很酷的站长
2023/02/02
4.7K0
jqGrid 关闭刷新父页面数据
子页面提交方法: function commit(){     var data = $("#pwd").serialize();     $.post("#",data,function(data){     var index = parent.layer.getFrameIndex(window.name);     parent.layer.close(index);   }) } 父窗口数据刷新再关闭layer 之后 end 方法触发 layer.open({ type : 2, skin
冷冷
2018/02/08
4K0
js刷新当前页面方法
在写JS代码时,用到JS来刷新当前页面的方法有几种,比如最常用的reload(),location 等
全栈程序员站长
2022/11/17
12.6K0
Vue刷新当前页面(成功)
但是这个办法会让整个当前页面刷新,相当于F5。如果项目中只是做一个编辑修改操作,希望修改后数据立马改变,但是使用此方法会出现一个短暂的空白页(如下图),用户效果特别不好,不推荐。
全栈程序员站长
2022/11/03
3.6K0
Vue刷新当前页面(成功)

相似问题

等待页面刷新: React

118

等待+刷新页面

24

如何在Selenium中等待页面刷新

20

等待ajax调用在页面刷新时完成

10

在刷新页面之前等待更新完成

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档