Wie beseitigen xpaths in Webdriver-code?

Ich arbeiten auf die Automatisierung einer website und ich bin versucht, einen Weg finden, um zu reduzieren die Verwendung von XPath-Ausdrücken in meinem code.
Mein code sieht ungefähr so aus

    driver.findElement(By.xpath("//html/body/center/div/div/center/table/tbody/tr/td/form/table/tbody/tr[3]/td/input")).click();
    driver.findElement(By.xpath("//html/body/div/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td")).getText();
    driver.findElement(By.xpath("//html/body/div/table/tbody/tr/td/div[2]/div/div/div[4]/div/div/div")).click();
    driver.findElement(By.xpath("//html/body/div[3]/div/div/div/div[2]/div/span/ul[2]/li[6]/a")).click();
    /*driver.findElement(By.xpath("//html/body/div/div/div/div[3]/div/div[2]/div[2]/table/tbody/tr/td[3]/table/tbody/tr/td[2]/em/button")).click();
    WebElement editUserForm = driver.findElement(By.cssSelector("iframe[src*='editUserForm']"));

Gibt es eine Möglichkeit, ich kann reduzieren diese XPath-Angaben, so dass meine codes sehen auch nicht schäbig ?
Einer der member hier mir vorgeschlagen "verwenden Sie Bitte nicht absoluter xpath". Was bedeutet es ?
Bitte helfen Sie. Auch lassen Sie mich wissen, wenn es irgendeinen link, der mir helfen wird, mich auf dieser.

Ist es möglich, erstellen Sie eine Datei, die einen string xpath-Zeiger, und dann können wir nur die Zeichenfolge in den code ?

  • Sicherlich einige Ihrer Elemente ein id-Attribut besitzen. Zum Beispiel, wenn eine dieser Tabellen mit der id "Rechnungen", die Sie nutzen könnten //table[@id='invoices'] abzuschneiden alles, bevor der Tisch-Achse Schritt. Lesen Sie einige XPath-tutorial, du bist noch immer fehlen die Grundlagen von XPath und ändern kann, dass innerhalb einer Stunde. Wenn Sie verwenden möchten, Selen, stick mit XPath 1.0-bei der Auswahl einige Tutorials, neuere Versionen werden nicht unterstützt.
InformationsquelleAutor mac | 2013-05-20
Schreibe einen Kommentar