126邮箱登录---iframe

    xiaoxiao2021-03-25  597

    开始直接定位根本定位不了,后来发现里面包了一个iframe,解决办法如下:

    写法一:

    System.out.println("126 mail login"); WebDriver driver = new FirefoxDriver(); driver.get("http://www.126.com"); driver.findElement(By.id("lbNormal")).click(); //driver.switchTo().frame(driver.findElement(By.id("x-URS-iframe")));//注意iframe driver.switchTo().frame("x-URS-iframe");//这样写也可以,上一句那样也可以,效果相同 driver.findElement(By.name("email")).clear(); driver.findElement(By.name("email")).sendKeys("改下你的账号"); driver.findElement(By.name("password")).clear(); driver.findElement(By.name("password")).sendKeys("密码");

    写法二:

    WebElement account = driver.findElement(By.id("lbNormal"));  account.click();  WebElement iframeforlogin = driver.findElement(By.id("x-URS-iframe"));    driver.switchTo().frame(iframeforlogin);    WebElement username = driver.findElement(By.name("email"));  WebElement password = driver.findElement(By.name("password"));  WebElement submitbutton = driver.findElement(By.id("dologin"));  username.clear();  username.sendKeys("改下你的账号");  password.clear();  password.sendKeys("密码");  submitbutton.click();

    注意:

    1.中间注释掉的是另一种详细些的写法,两种都可以执行成功

    2.126输入框不能使用id、xpath定位,因为它的id是一直在变化的(我开始就没注意到这点)

    3.注意不要把上图画出的第1个红框中的定位忘记了,虽然一进网页就显示的账号密码登录,但是没有定位那里也会找不到

    转载请注明原文地址: https://ju.6miu.com/read-181392.html

    最新回复(0)