Selenium登陆126邮箱,定位不到帐号输入框解决办法

用firebug去定位126邮箱登陆页面的帐号密码输入框,查看元素时发现ID每次都是变更的,不能用ID定位浏览器

image.png


使用xpath定位,发现每次定位都会失败,后来发现这个登陆的帐号密码输入框,是嵌套在表单iframe中,因此定位时,要先进入iframe里面才能正肯定位ide


iframe/frame的定位方式有3种,一是经过ID,而是经过name,三是xpathiframe


例如:it

    switch_to_frame(id);class

    switch_to_frame(name);登录

    

如果没有ID和name,那么只能经过xpath方式定位到frame,switch_to_frame(xpath)表单


下面是火狐浏览器经过xpath定位的bug


image.png