Selenium无法定位元素

今天在做163邮箱的自动化登录时,使用各种方法都无法定位元素,后来百度说是因为登录页面使用了框架,一检查,如下图:
页面使用了id="x-URS-iframe"的内联框架

使用了内联框架iframe,原来定位用户名输入框,仅使用:WebElement user = driver.findElement(By.name(“email”));这一句代码,现在因为页面使用了框架,所以,要想定位该元素,要先定位到这个框架,即:
driver.switchTo().frame(“x-URS-iframe”);

以下是163邮箱登录的所有代码,代码最后两行是想要输出登录后的用户名,不知何故又是无法定位,希望知道的朋友指点!

package hello;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class GetInfo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.setProperty("webdriver.firefox.marionette","C:\\Program Files (x86)\\Mozilla Firefox\\geckodriver.exe");
        System.out.println("start selenium");

        WebDriver driver = new FirefoxDriver();
        driver.get("http://mail.163.com/");
        driver.switchTo().frame("x-URS-iframe");

        WebElement user = driver.findElement(By.name("email"));
        user.clear();
        user.sendKeys("XXXXXXXX");

        WebElement password = driver.findElement(By.name("password"));
        password.clear();
        password.sendKeys("XXXXXXXX");

        WebElement login = driver.findElement(By.id("dologin"));
        login.click();

        //String username = driver.findElement(By.xpath(".//*[@id='spnUid']")).getText();
        //System.out.println(username);
    }

}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值