请教关于 selenium 中 expected_conditions 的问题

2017-10-09 22:45:51 +08:00
 saximi
程序 1: 
WebDriverWait(driver,10).until(expected_conditions.find_element_by_xpath(某路径)) 

程序 2: 
driver.implicitly_wait(10)  
driver.find_element_by_xpath(某路径) 

请问,上面程序 1 和程序 2 实现的功能是否是相同的,都是等待某个操作完成,但等待时间最长不超过 10 秒? 
我理解应该实现的功能是相同的,区别在于程序 1 需要对于每一个操作都调用 expected_conditions,但是程序 2 只要写一次 implicitly_wait 语句,就可以对整个程序文件中的操作都实现同样的效果,是这样么? 
感谢指点! 
1825 次点击
所在节点    Python
1 条回复
mlyy
2017-10-09 23:21:39 +08:00
python 有个模块叫 logging,看看文档你就可以打开 DEBUG 级别的输出,然后你就能在控制台看到 selenium 和浏览器交互的完整过程,然后你就知道上面两种方法的阻塞原理了。简单来说,方法一是轮询的实现,而方法二是线程休眠的实现。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/396300

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX