大鹏

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

System.setProperty("webdriver.chrome.driver", "E:\\javaselenium\\bao\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://mail.qq.com/");
driver.manage().window().maximize();
Thread.sleep(3000);

WebElement frame=driver.findElement(By.id("login_frame")); // 添加frame元素
driver.switchTo().frame(frame);
//原因: 因为element包含在frame内,因此需要在查找元素前加入转到frame语句。这里普通的是定位不到的

WebElement ele6 = driver.findElement(By.xpath("//div[@class='web_login']/div[2]/form/div[1]/div/input"));
Thread.sleep(1000);
ele6.sendKeys("3274029080");
System.out.println("输入QQ号");

WebElement ele7 = driver.findElement(By.xpath("//div[@class='web_login']/div[2]/form/div[2]/div[1]/input"));
Thread.sleep(1000);
ele7.sendKeys("XXXX");
System.out.println("输入QQ密码");

driver.switchTo().defaultContent();//退出frame,才能操作表单外的元素


WebElement ele9 = driver.findElement(By.xpath("//div[@class='container']/div[1]/div/a[1]"));
Thread.sleep(1000);
ele9.click();
System.out.println("点击基本版本");

 

参考: 

selenium无法定位到QQ邮箱登录页面的输入框元素和登录按钮元素-解决方法

 

posted on 2020-05-17 22:31  pf42280  阅读(240)  评论(0编辑  收藏  举报