Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

id、name、xpath、cssのうち、どのロケーターを使用する必要がありますか?


各ロケーターにはいくつかの重要性があります。ページに固有のものが含まれている場合

属性値については、最初に使用する必要があります。ただし、固有の要素がない場合は、速度の点でより効果的であるため、cssセレクターを使用する必要があります。

Cssには、子ノードから親ノードに移動できないという欠点もあります。つまり、逆方向に移動できません。しかし、xpathはこの機能を許可します。 XpathはSeleniumで最も一般的なロケーターであり、DOM要素と属性をトラバースしてオブジェクトを識別します。

xpathは、「/」と「//」の2つの方法で表されます。スラッシュは絶対パスを意味します。ここで、xpathはDOMの親から子に直接トラバースします。したがって、絶対xpathでは、ルートノードからターゲットに移動する必要があります。

構文-

driver.findElement(By.xpath("/html/body/div/input")).

二重順の「//」スラッシュは相対パスを意味します。ここで、xpathはDOMの隅々で一致する要素を見つけます。特別な出発点はありません。

構文-

driver.findElement(By.xpath("//input[@name=’Tutorial’]")).

絶対xpathではなく相対xpathを使用することを常にお勧めします。絶対xpathでは、ルートから目的の要素までを指定する必要があるため、属性とその値のいずれかがその間に変更されると、xpathは正しくなくなります。

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
public class TextMatch {
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",    "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = " https://www.tutorialspoint.com/questions/index.php";
      driver.get(url);
      driver.manage().window().maximize();
      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
      //identifying element with xpath
      driver.findElement(By.xpath("//input[@class=’gsc-input’]")).click();
      driver.close();
   }
}

  1. CSSとJavaScriptを使用してクラス名に基づいてDIV要素をフィルタリングするにはどうすればよいですか?

    クラス名に基づいてDIV要素をフィルタリングするには、コードは次のとおりです- 例 <!DOCTYPE html> <html> <style>    .filterElements {       float: left;       font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;       font-size: 20px;    

  2. iPhone の名前を変更する方法 (および変更すべき理由)

    新しい iPhone には、デフォルトで本名を含む名前が付いています。 Apple ID に仮名を使用しない限り、または iPhone の設定時に本名が iPhone の名前にも表示されます。 iPhone の名前を変更する方法は次のとおりです。 このチュートリアルでは、iPhone に接続されている Bluetooth アクセサリの名前を変更する方法についても説明します。ディスプレイが正しく動作しない場合でも、iPhone の名前を変更する方法を紹介します。 iPhone の名前を変更すべき理由 iPhone のデフォルト名には本名が含まれているため、AirDrop によってプライバシ