gpt4 book ai didi

Java Selenium 无法登录GMail

转载 作者:行者123 更新时间:2023-12-02 09:42:58 24 4
gpt4 key购买 nike

我正在用java学习Selenium。我的用例是:

  1. 浏览 www.Google.com
  2. 搜索“Gmail 登录”
  3. 打开第一个链接
  4. 点击登录按钮(我将进入登录页面)
  5. 输入电子邮件,点击“下一步”,然后输入密码
  6. 点击下一步

有两种情况,一种当我直接浏览 gmail login page 时和跳过(1,2,3分)它对我有用。我可以登录,但从第一步开始时使用 2nd 会抛出

线程“main”org.openqa.selenium.WebDriverException中出现异常:java.net.SocketTimeoutException:第5点超时(当需要输入电子邮件时)

这是我的整体代码:

  WebDriver web;
public void invokeChrome()
{
System.setProperty("webdriver.chrome.driver", "D:\\software testing\\chromedriver.exe");
web = new ChromeDriver();
web.manage().window().maximize();
web.manage().deleteAllCookies();
web.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
web.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
web.get("https://www.google.com");

}
void searchQuery() throws InterruptedException
{
web.findElement(By.name("q")).sendKeys("Gmail Login");
Thread.sleep(2000);
web.findElement(By.xpath("//div[@class='sbl1']")).click();

web.findElement(By.xpath("//h3[@class='LC20lb']")).click();
web.findElement(By.linkText("Sign in")).click();
Thread.sleep(2000);
web.findElement(By.xpath("//input[@type='email']")).sendKeys("xyz@gmail.com");
web.findElement(By.xpath("//span[@class='RveJvd snByac']")).click();
web.findElement(By.cssSelector(".A3sRAb.YKooDc .zHQkBf, .A3sRAb.YKooDc .MQL3Ob")).sendKeys("*****@");
Thread.sleep(2000);
web.findElement(By.xpath("//span[contains(text(), 'Next')]")).click();

}

我正在使用 Chromedrive 74 和 selenium:3.9.0 版本

最佳答案

我自己想出了解决办法。尽管它可能会对将来的某人有所帮助。好吧,问题是

   <a href="SIGN IN Page" target="_blank">

因为当新选项卡打开时,Webdriver 需要将控制权从旧选项卡转移到新选项卡。像这样:

   WebElement link =   web.findElement(By.linkText("Sign in"));
String l = link.getAttribute("href");
web.get(l);

关于Java Selenium 无法登录GMail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56908435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com