Selenium Webdriver 使用类名进行定位策略


通过类名可以用作 Selenium webdriver 中的定位策略。我们可利用带有定位符的类属性(如类名、css 和 xpath)识别元素。要使用 css 定位 web 元素,语法为 tagname[class='value'],要使用的方法为 By.cssSelector。

要使用 xpath 定位 web 元素,语法为 //tagname[@class='value']。然后,我们必须使用 By.xpath 方法来定位它。要使用定位符类名定位元素,我们必须使用 By.className 方法。

我们来看一下具有类属性的 web 元素的 html 代码 −

语法

WebElement elm = driver. findElement(By.className("input__input"));
WebElement p = driver.findElement(By.xpath("//input[@class = ' input__input']"));
WebElement t = driver. findElement(By.cssSelector("input[class=' input__input']"));

示例

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.concurrent.TimeUnit;
public class ClsNameStrategy{
   public static void main(String[] args) {
      System.setProperty("webdriver.gecko.driver",
      "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe");
      WebDriver driver = new FirefoxDriver();
      //implicit wait
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      //URL launch
      driver.get("https://www.linkedin.com/");
      // identify element class name
      WebElement elm = driver.findElement(By.className("input__input"));
      elm.sendKeys("[email protected]");
      //identify with cssSelector
      WebElement c= driver.findElement(By.cssSelector("input[class='input__input']"));
      String str = c.getAttribute("value");
      System.out.println("Value entered is : " + str);
      //identify with xpath
      WebElement x = driver.
      findElement(By.xpath("//input[@class='input__input']"));

      x.clear();
      driver.close();
   }
}

输出

更新日期: 06-Apr-2021

654 次浏览

开启你的 职业生涯

完成课程,获得认证

开始学习
广告