程序 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 语句,就可以对整个程序文件中的操作都实现同样的效果,是这样么?
感谢指点!
1
mlyy 2017-10-09 23:21:39 +08:00 via iPhone
python 有个模块叫 logging,看看文档你就可以打开 DEBUG 级别的输出,然后你就能在控制台看到 selenium 和浏览器交互的完整过程,然后你就知道上面两种方法的阻塞原理了。简单来说,方法一是轮询的实现,而方法二是线程休眠的实现。
|