51Testing软件测试论坛

标题: 菜鸟求助:用Selenium无法实现登录百度自动化 [打印本页]

作者: 小米0930    时间: 2015-7-6 15:22
标题: 菜鸟求助:用Selenium无法实现登录百度自动化
public class TestBaidu {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
          WebDriver driver=new ChromeDriver();
          driver.get("http://www.baidu.com");
          driver.manage().window().maximize();
          driver.findElement(By.xpath("//*[@id='u1']/a[6]")).click();
          driver.findElement(By.name("userName")).sendKeys("bxm880930");
          driver.findElement(By.name("password")).sendKeys("sorry0930");
          driver.findElement(By.xpath("//*[@id='TANGRAM__PSP_8__submit']")).click();

菜鸟求助:运行代码后,执行到用户名那儿就不能运行了。元素定位正确


作者: afs1984    时间: 2015-7-6 16:42
执行文本框输入之前需要先发送clear命令。在sendkeys前面一行加上clear命令,比如
driver.findElement(By.name("userName")).clear()

注意每个sendkeys前面都要加clear
作者: hcy11    时间: 2015-7-6 16:50
用户名和密码都要先清除再填写内容,即先clear().再sendkeys()

作者: 踏雪飞狐    时间: 2015-7-6 20:30
你的登录框弹出来了没?
作者: joykao    时间: 2015-7-8 10:54
加上点等待,等弹框出来再输入还有用xpath定位元素不推荐哟
作者: Scott-cheng    时间: 2015-7-14 17:58
请先确保登录界面已经弹出,停在那儿是因为没有找到指定元素,你可以使用id定位方式。
作者: 喵的啦啦    时间: 2015-7-14 19:02
只要加个等待登陆框弹出就可以了,有ID就最好就用ID。等  id = TANGRAM__PSP_2__foreground出来了就可以

作者: alchaochao    时间: 2015-7-15 14:33
输入用户名那一行前加个等待时间
作者: 小米0930    时间: 2015-7-20 16:20
哈哈,谢谢大家,问题已经解决了
作者: 碧麟    时间: 2015-7-24 08:52
Threed.sleep(10000);
作者: huazihui    时间: 2015-12-18 18:34
小白  想问怎么解决的
作者: vivian_jyang    时间: 2016-4-7 12:53
怎么解决的?求问
作者: javahao    时间: 2016-4-13 12:48
你解决了也不说一下,以后别人怎么帮你,其它人说的没用
作者: javahao    时间: 2016-4-13 12:49
你解决了也不说一下,以后别人怎么帮你,其它人说的没用
作者: 小米0930    时间: 2016-5-16 17:21
哈哈,不好意思,好久不上论坛。该问题的解决方法就是加个等待时间
作者: lenjuan    时间: 2016-5-26 15:42
import time

在请求登框那里加个等待时间强制等待吧
time.sleep(5)

这个针对不明白的朋友的哈!老鸟从无视
作者: SunnyLan    时间: 2016-8-31 14:35
本帖最后由 SunnyLan 于 2016-8-31 14:37 编辑

要加等待时间才行!driver.get("http://www.baidu.com");
                driver.findElement(By.linkText("登录")).click();
                try {
                        Thread.sleep(3000);
                } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
                driver.findElement(By.id("TANGRAM__PSP_8__userName")).sendKeys(new String[]{"XXXX"});
                try {
                        Thread.sleep(3000);
                } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
                driver.findElement(By.id("TANGRAM__PSP_8__password")).sendKeys(new String[]{"XXX"});
                driver.findElement(By.id("TANGRAM__PSP_8__submit")).click();




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2