/ / Защо Селен не намира елемент от xpath? - java, селен, xpath, firebug, firepath

Защо Селен не намира елемент от xpath? - java, селен, xpath, firebug, firepath

Когато стартирам следната програма, защо е "0"отпечатани в конзолата? Очаквах "1" да бъде отпечатан, тъй като очаквах метода findElements () да намеря връзка, използвайки xpath. Изразът xpath е неправилен? Получих израза с Firefox, Firebug и Firepath, като избирам елемента на връзката и копирам дадения xpath.

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;
import java.util.List;

public class SeleniumSearch {
static WebDriver driver = new FirefoxDriver();

public static void main(String[] args) {

try {
driver.get("http://www.google.co.uk/");
submitSearch("selenium");
getHit();
}
finally {
driver.close();
}
}

static void submitSearch(String search) {
WebElement searchBox = driver.findElement(By.name("q"));
searchBox.sendKeys(search);
searchBox.submit();
}

static void getHit() {
List<WebElement> hits = driver.findElements(By.xpath("html/body/div[5]/div[4]/div[9]/div[1]/div[3]/div/div[3]/div[2]/div/div/div/div[2]/div[1]/div/h3/a"));
System.out.println(hits.size());
}
}

Изстрел на екрана на xpath дадено от Firepath

Отговори:

2 за отговор № 1

Опитайте да поставите следното като xpath вместо действителната пътека: // * [@ ID = "RSO"] / DIV [2] / DIV [1] / DIV / h3 / а


1 за отговор № 2
xpath("html/body/div[5]/div[4]/div[9]/div[1]/div[3]/div/div[3]/div[2]/div/div/div/div[2]/div[1]/div/h3/a")

Това е погрешна работа с xpath, една малка промянав уеб сайта и кодът ви няма да работи! опитайте да го направите по-динамичен Намерете най-близкия идентификатор или име на маркер и продължете оттам, можете ли да споделите вашия html източник?


1 за отговор № 3

Бих използвал обикновен xpath като html/body//h3/a, Можете също така да използвате разширението FirePath на FireBug, за да изградите и оцените xpaths.


1 за отговор № 4

Simplest xpath Бих могъл да измислям първата връзка в Google Търсене:

(//h3/a)[1]