首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硒: sendKeys()

硒: sendKeys()
EN

Stack Overflow用户
提问于 2015-07-28 23:05:07
回答 6查看 1.5K关注 0票数 2

我尝试使用Java + Selenium自动登录到我的Gmail帐户,但是每次我被Google阻止的时候。当我手动登录时(即使是在同一台服务器上),我也没有这样的问题。此外,如果我使用"sendKeys“类型lib (https://pypi.python.org/pypi/SendKeys/0.3),就没有这样的问题。

我的问题有两个方面:

  1. Selenium如何“发送密钥”与普通用户如何发送密钥之间的技术差异是什么?或者Python库是如何实现的?
  2. 是否有一种方法来修改selenium,使其模拟真实的用户?或者,是否有另一个库可以替代Selenium来模仿真正的用户?

谢谢

EN

回答 6

Stack Overflow用户

发布于 2015-08-17 09:53:16

实际上是速度的差异。人类打字速度慢,剧本写得很快。所以,你必须降低你的脚本速度。所以总的来说,你必须建造更好的机器人。任何服务器都不会检测到更好的机器人。

票数 1
EN

Stack Overflow用户

发布于 2015-08-31 19:35:40

您应该在代码中添加一些延迟,以欺骗google您的代码是真实的人类代码--仅此而已:) Thread.sleep可能是这里最简单的解决方案。

票数 0
EN

Stack Overflow用户

发布于 2016-02-24 07:12:54

打开gmail &登录&打开最新收到的邮件

代码语言:javascript
复制
DriverObj.get("http://www.gmail.com");
                DriverObj.findElement(By.id("gmail-sign-in")).click();
                DriverObj.findElement(By.id("Email")).sendKeys("youremailID");
                DriverObj.findElement(By.id("next")).click();
                DriverObj.findElement(By.id("Passwd")).sendKeys("yourpassword");
                DriverObj.findElement(By.id("signIn")).click();
                Thread.sleep(2000);
            WebElement tableelement=DriverObj.findElement(By.xpath("//div[@class='Cp']/div/table//tbody"));
            java.util.List<WebElement> tableelement1=tableelement.findElements(By.xpath("//div[@class='Cp']/div/table//tbody/tr"));
            int tableelementsize=tableelement1.size();
            int i;
            if(tableelementsize>0){
                //DriverObj.navigate().refresh();
                for(i=0;i<tableelementsize;i++){
                    DriverObj.findElement(By.xpath("//div[@class='Cp']/div/table//tbody/tr/td[6]")).click();
                }

            }else {
                 if(tableelementsize==0){
                    DriverObj.navigate().refresh();
                    for(i=0;i<tableelementsize;i++){
                        DriverObj.findElement(By.xpath("//div[@class='Cp']/div/table//tbody/tr/td[6]")).click();
                    }
                }

邮箱的路径可能会发生变化(您需要根据您的工作进行更改)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31688618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档