如何使用Selenium和Java填写yahoo登录页面中的用户名和密码字段

package newproject;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;



public class Amazon {

public static void main(String[] args) throws InterruptedException {


String url = ("https://in.yahoo.com/"); 

System.setProperty("webdriver.chrome.driver","F:\\Driver\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get(url);
driver.manage().deleteCookieNamed(url);
driver.navigate().forward();
driver.manage().window().maximize();
driver.findElement(By.id("uh-signin")).click();
driver.findElement(By.id("login-username")).sendKeys("myemail@yahoo.com"); 
Thread.sleep(2000);
driver.navigate().forward();
driver.findElement(By.id("login-signin")).click();
//driver.findElement(By.name("password")).click();
driver.findElement(By.id("login-passwd")).sendKeys("...");
//System.out.print("You are welcome");

}   
}

我正在尝试在yahoo登录页面中输入用户名和密码,但我可以输入用户名,但无法输入密码

ludyhhm 回答:如何使用Selenium和Java填写yahoo登录页面中的用户名和密码字段

请找到以下解决方案。

解决方案

    System.setProperty("webdriver.chrome.driver","chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.manage().window().maximize();
    //driver.manage().timeouts().implicitlyWait(12,TimeUnit.SECONDS);
    driver.get("https://in.yahoo.com/");



    driver.findElement(By.xpath("//button[@name='agree']")).click();
    driver.findElement(By.xpath("//a[@id='uh-signin']")).click();

    driver.findElement(By.id("login-username")).sendKeys("Thakur_aju2008@yahoo.com");
    driver.findElement(By.id("login-signin")).click();
    Thread.sleep(5000);

    driver.findElement(By.xpath("//input[@id='login-passwd']")).sendKeys("Pranavpooja@2017");
,

要填充 Yahoo 登录页面https://in.yahoo.com/中的用户名密码字段,您需要引入 WebDriverWait 用于elementToBeClickable(),则可以使用以下任一Locator Strategies

  • 代码块:

    • 使用cssSelector

      ChromeOptions options = new ChromeOptions();
      options.addArguments("start-maximized");
      //options.setExperimentalOption("excludeSwitches",Collections.singletonList("enable-automation"));
      //options.setExperimentalOption("useAutomationExtension",false);
      WebDriver driver = new ChromeDriver(options);
      driver.get("https://in.yahoo.com/");
      new WebDriverWait(driver,20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a#uh-signin"))).click();
      new WebDriverWait(driver,20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.phone-no"))).sendKeys("Thakur_aju2008@yahoo.com");
      driver.findElement(By.cssSelector("input#login-signin")).click();
      new WebDriverWait(driver,20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input#login-passwd"))).sendKeys("Pranavpooja@2017");
      
    • 使用xpath

      ChromeOptions options = new ChromeOptions();
      options.addArguments("start-maximized");
      //options.setExperimentalOption("excludeSwitches",20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@id='uh-signin']"))).click();
      new WebDriverWait(driver,20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='phone-no ']"))).sendKeys("Thakur_aju2008@yahoo.com");
      driver.findElement(By.xpath("//input[@id='login-signin']")).click();
      new WebDriverWait(driver,20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@id='login-passwd']"))).sendKeys("Pranavpooja@2017");
      
  • 浏览器快照:

yahoo_login

本文链接:https://www.f2er.com/3160638.html

大家都在问