selenium登录时遇到错误----iframe

报错代码:
no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="userName"]"}
报错描述:
我用 Selenium 框架,先定位登录两个字,然后弹框出来登录界面,此时我用 id 定位方法登录账号和登录密码输入框,定位不了,webdriver找不到登录框。

出错原因:
1. 点击登录时候webdriver加载的URL1为:
webdriver.get("http://shop.yimaisc.com")
2. 而点击登录之后,弹出一个窗口,此时新的窗口的URL2为:

3. 此时,webdriver并没有自动从URL1转换到URL2,它还停留在URL1的界面,所以我在点击新界面定位时候定位不到。


解决代码:
driver.switch_to.frame("layui-layer-iframe1")
上述layui-layer-iframe1,同样看下图,是右边源码中黄色高亮的iframe的name属性的值,转换过后,再定位的账号和密码,就是弹出的框的账号和密码了。
注:这个步骤其实就是把webdriver转移到URL2上去


全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务