51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5095|回复: 16
打印 上一主题 下一主题

菜鸟求助:用Selenium无法实现登录百度自动化

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-7-6 15:22:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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();

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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
发表于 2015-7-6 16:42:18 | 只看该作者
执行文本框输入之前需要先发送clear命令。在sendkeys前面一行加上clear命令,比如
driver.findElement(By.name("userName")).clear()

注意每个sendkeys前面都要加clear
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2015-7-6 16:50:06 | 只看该作者
用户名和密码都要先清除再填写内容,即先clear().再sendkeys()
回复 支持 反对

使用道具 举报

  • TA的每日心情
    郁闷
    2015-7-30 14:37
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2015-7-6 20:30:46 | 只看该作者
    你的登录框弹出来了没?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    5#
    发表于 2015-7-8 10:54:50 | 只看该作者
    加上点等待,等弹框出来再输入还有用xpath定位元素不推荐哟
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2015-7-14 17:58:09 | 只看该作者
    请先确保登录界面已经弹出,停在那儿是因为没有找到指定元素,你可以使用id定位方式。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-6-11 11:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2015-7-14 19:02:02 | 只看该作者
    只要加个等待登陆框弹出就可以了,有ID就最好就用ID。等  id = TANGRAM__PSP_2__foreground出来了就可以
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-7-10 17:29
  • 签到天数: 136 天

    连续签到: 1 天

    [LV.7]测试师长

    8#
    发表于 2015-7-15 14:33:20 | 只看该作者
    输入用户名那一行前加个等待时间
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2015-7-20 16:20:14 | 只看该作者
    哈哈,谢谢大家,问题已经解决了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2015-7-24 08:52:00 | 只看该作者
    Threed.sleep(10000);
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-3-24 10:04
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]测试营长

    11#
    发表于 2015-12-18 18:34:01 | 只看该作者
    小白  想问怎么解决的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2016-4-7 12:53:17 | 只看该作者
    怎么解决的?求问
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-9-2 09:40
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    13#
    发表于 2016-4-13 12:48:49 来自手机 | 只看该作者
    你解决了也不说一下,以后别人怎么帮你,其它人说的没用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-9-2 09:40
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    14#
    发表于 2016-4-13 12:49:00 来自手机 | 只看该作者
    你解决了也不说一下,以后别人怎么帮你,其它人说的没用
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
     楼主| 发表于 2016-5-16 17:21:52 | 只看该作者
    哈哈,不好意思,好久不上论坛。该问题的解决方法就是加个等待时间
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2016-5-26 15:42:34 | 只看该作者
    import time

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

    这个针对不明白的朋友的哈!老鸟从无视
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-11-4 11:04
  • 签到天数: 274 天

    连续签到: 1 天

    [LV.8]测试军长

    17#
    发表于 2016-8-31 14:35:57 | 只看该作者
    本帖最后由 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();
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-22 21:29 , Processed in 0.082279 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表