繁体   English   中英

如何使用 Selenium 和 Java 在雅虎登录页面填写用户名和密码字段

[英]How to fill up the username and password fields in yahoo login page using Selenium and Java

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");

}   
}

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

请找到以下解决方案。

解决方案

    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/中的用户名密码字段,您需要为elementToBeClickable()引入WebDriverWait ,您可以使用以下任一定位器策略

  • 代码块:

    • 使用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", 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.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");
  • 浏览器快照:

雅虎登录

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM