如何使用类名在 Facebook 中输入用户名和密码

Posted

技术标签:

【中文标题】如何使用类名在 Facebook 中输入用户名和密码【英文标题】:How to enter username and password in Facebook using class names 【发布时间】:2016-12-07 20:32:02 【问题描述】:

在 google 和 *** 上进行大量研发后,我发布了这个查询.. 我想只使用类名在 Facebook 上输入用户名和密码,我不想为此使用类型、名称、id .. 我尝试了所有可能的选项,但没有运气有人能提供解决方案。 这是我的代码..

package login;

import org.testng.annotations.Test;

import java.util.concurrent.TimeUnit;

import org.testng.annotations.*;

import org.openqa.selenium.*;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.chrome.ChromeDriver;

public class MercuryLogin1 

  private WebDriver driver;

  private String baseUrl;

  @BeforeClass(alwaysRun = true)

  public void setUp() throws Exception 

    System.setProperty("webdriver.chrome.driver","C:\\Automation_Info\\Selenium\\chromedriver_win32\\chromedriver.exe");

    System.setProperty("webdriver.gecko.driver", "C:\\Automation_Info\\Selenium\\geckodriver-v0.9.0-win64\\geckodriver.exe");

    driver = new ChromeDriver();

    baseUrl = "http://facebook.com/";   

    //driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

  

  @Test

  public void testMercuryLogin1() throws Exception 

    driver.get(baseUrl + "/");

    driver.findElement(By.xpath("//input[@class=inputtext][0]")).sendKeys("tutorial");

    driver.findElement(By.xpath("//input[@class='nputtext][1]")).sendKeys("tutorial");

  

  @AfterClass(alwaysRun = true)

  public void tearDown() throws Exception 

    //driver.quit();

   


【问题讨论】:

【参考方案1】:

如果您想使用他们的类输入用户名和密码,请尝试使用下面的By.xpath():-

public void testMercuryLogin1() throws Exception 

    driver.get(baseUrl + "/");

    WebDriverWait wait = new WebDriverWait(driver, 10);

    WebElement user = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("(.//input[@class = 'inputtext'])[1]")))

    user.sendKeys("tutorial");

    WebElement pass = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("(.//input[@class = 'inputtext'])[2]")))

    pass.sendKeys("tutorial");

  

注意 :- 我不知道你为什么要使用class Name 输入值,而它可以简单地使用By.id("email")By.id("pass") 输入。我建议您从性能角度使用By.id 比其他定位器快得多。因此,如果可能,请优先考虑。

希望对你有帮助...:)

【讨论】:

感谢 Saurabh 提供的信息,但我不想使用 id 或名称,我只想使用 CLASS 名称... @SantoshGaddam 用班级更新了答案。试试看..:) @SantoshGaddam 但我建议您在这里尝试使用By.id,因为它比使用其他定位器要快得多...:)。

以上是关于如何使用类名在 Facebook 中输入用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章

宽带连接显示 已拒绝远程连接,因为未识别出你提供的用户名和密

如何执行我自己的身份验证(检查用户输入的用户名和密码)

解析 Facebook 登录 - 保存输入的用户名和电子邮件

如何使用 xmpp 连接 Facebook 聊天,我想输入朋友的用户名,然后聊天显示 SASL 身份验证失败

如何识别用户在评论框中输入的 URL?

iOS:无法注销 Facebook 用户并再次要求输入电子邮件和密码