一、调用方式 1.强制等待 调用time模块,使用time.sleep(n),强制等待n秒 2.隐式等待 implicitly_wait(n),设置隐式等待最大时间n秒,等待元素加载完成,如果到了时间元素没有加载出,就抛出一个NoS
一、调用方式1.强制等待调用time模块,使用time.sleep(n),强制等待n秒 2.隐式等待implicitly_wait(n),设置隐式等待最大时间n秒,等待元素加载完成,如果到了时间元素没有加载出,就抛出一个NoSuchElementException的错误。 3.显式等待调用WebDriverWait()类,显性等待是对指定元素进行等待的一种等待方式。通过设置最大等待时间,检查频率对页面的元素来进行等待,一旦找到元素,则停止等待,进入后续步骤,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException异常。
二、优缺点1.强制等待缺点:较为死板,不能准确把握等待时间,若大量使用会影响执行效率,浪费不必要的时间 优点:调用简单,可在调试时使用 2.隐式等待缺点:使用不是很灵活,程序会一直等待整个页面加载完成,才会执行下一步操作,需要等待时间完成;在等待时间内页面没有加载完成,时间一到也会进入下一步操作,要定位的元素没有出现则会报元素无法找到的错误 优点:对整个driver的周期都起作用,每一次操作都会隐式等待,只设置一次 3.显示等待缺点:使用相对复杂,和强制等待类似,每一行等待只执行一次 优点:等待判断准确,不会浪费多余的等待时间,可提高执行效率 |
2019-06-18
2019-07-04
2021-05-23
2021-05-27
2021-05-27