进入页面,定位元素,成功
hello_el=driver.find_element_by_path(’//p[@id=“hello”]’)
点击
hello_()
此时出现弹窗
再次定位页面元素,失败,
hello_el=driver.find_element_by_path(’//p[@id=“hello”]’)
原因:因为点击之后会出现弹窗,弹窗中没有该元素,所以会定位失败。
怎么办呢? 关闭弹窗
关闭弹窗操作:
1、先切换到弹窗
坑 ,alert是属性,没有括号,一般不需要等待,如果需要等待,用显性等待
alert=driver.switch_to.alert
2、确认或者取消操作
alert.accept()或alert.dismiss()
3、再次定位元素,成功
hello_el=driver.find_element_by_xpath(’//p[@id=“hello”]’)
显性等待-------一般不会用,弹窗点击一下立即会出现,不会加载很长时间
alert=WebDriverWait(driver,20).until(expected_conditions.alert_is_present)
alert.accept()
定位元素,成功
hello_el=driver.find_element_by_xpath(’//p[@id=“hello”]’)