ホームページ  >  記事  >  ウェブフロントエンド  >  Selenium で CSS セレクターをロケーターとして使用するにはどうすればよいですか?

Selenium で CSS セレクターをロケーターとして使用するにはどうすればよいですか?

WBOY
WBOY転載
2023-08-28 23:57:051384ブラウズ

CSS セレクターを使用して、Selenium Webdriver で要素を配置できます。 CSS 式を作成するための一般的な形式は、tagname[attribute='value'] です。 id 属性と class 属性を使用して CSS を作成できます。

id ​​を使用する場合、CSS 式の構文は tagname#id になります。たとえば、CSS 式 - input#txt-loc の場合、input はタグ名、txt-loc は id 属性の値です。

クラス名を使用する場合、CSS 式の構文は tagname.class です。たとえば、CSS 式 - input.txt-cls の場合、input はタグ名で、txt-cls はクラス属性の値です。

Web ページ要素 (親) に n 個の子要素 ​​(子) があり、n 番目の子要素を見つけたい場合、CSS 式の構文は nth-of-type(n) です。

如何在 Selenium 中使用 CSS 选择器作为定位器?

上記の HTML で、親 ul の 4 番目の li (テキスト「質問と回答」を含むアンカー要素) を配置する場合、CSS は次のようにする必要があります。 ul.reading li:nth-of-type(4) です。同様に、最後の子要素を識別するには、CSS を ul.reading li:last-child にする必要があります。

動的な値を持つ属性の場合、記号 ^= を使用して、属性値が特定のテキストで始まる要素を識別できます。たとえば、input[name^='qa1'] [ここでの input は tagname で、name 属性の値は qa1 で始まります]。

動的な値を持つ属性の場合、記号 $= を使用して、属性値が特定のテキストで終わる要素を識別できます。たとえば、input[class$='loc'] [ここでの input は tagname で、class 属性の値は loc で終わります] とします。

動的な値を持つ属性の場合、記号 *= を使用して、属性値に特定の部分文字列が含まれる要素を識別できます。たとえば、input[name*='sub'] [ここでの入力は tagname であり、name 属性の値には部分文字列 sub が含まれます]。

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 CSSLocator{
   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(10, TimeUnit.SECONDS);
      //URL launch
      driver.get("https://www.linkedin.com/");
      //identify element
      WebElement m = driver.
      findElement(By.cssSelector("input[id='session_key']"));
      //enter text
      m.sendKeys("Java");
      String s = m.getAttribute("value");
      System.out.println("Attribute value: " + s);
      //close browser
      driver.close();
   }
}

以上がSelenium で CSS セレクターをロケーターとして使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。