要账号密码登录126邮箱需要找到iframe进行多表单切换,我一共遇到两个错误,在这里记录一下,避免下次有相同的错误却不记得。
- 指定的选择器无效或非法
看到iframe标签中的id是x-URS-iframe1582596888940.4465,就直接使用
driver.switch_to.frame(‘x-URS-iframe1582596888940.4465’),
提示指定的选择器无效或非法
后来想这个id是不是会变,所以无法找到,就百度了一下,看到说switch_to.frame()可以用id、name定位,也可以用标签名。
- 元素不可交互
于是我就改成了‘iframe’,
el = driver.find_element_by_tag_name(‘iframe’)
driver.switch_to.frame(el)
提示元素不可交互
这是页面被隐藏,系统找不到这个元素,后来我想是不是需要先点击到输入账号密码界面,就在switch_to.frame()方法上面添加了一行定位,并点击
driver.find_element_by_xpath(’//*[@id=“switchAccountLogin”]’).click()