进入页面,定位元素,成功
hello_el=driver.find_element_by_path(’//p[@id=“hello”]’)
点击
hello_el.click()
此时出现弹窗
再次定位页面元素,失败,
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”]’)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74138.html