J'ai besoin d'accéder aux liens vers les résultats de la recherche sur ce site Web ( https://www.pibr.org.pl/pl/search/auditor?biegli=1&firmy=1&name=&post_code=&city=Warszawa ) et placez-les dans WebElement
, mais je ne peux pas les localiser par classe ou quoi que ce soit. Lors de l'utilisation de xpath
:
"Given xpath expression "//div[@class=inner-results firma]" is invalid: SyntaxError: The expression is not a legal expression."
J'obtiens cette erreur:
MyWebDriver.findElement(By.xpath("//div[@class=inner-results firma]")).click();
Comment puis-je accéder à tous les liens de résultats?
3 Réponses :
Le En remarque, les variables en Java doivent commencer par des minuscules, xpath
doit être "// div [@ class = 'inner-results firma']"
, avec des guillemets autour de la classe code > attribut. Vous devez également utiliser
findElements
pour obtenir plus d'un résultat MyWebDriver.findElements(By.xpath("//div[@class='inner-results firm']")).click();
MyWebDriver code > ->
myWebDriver
Vous devez mettre le nom de la classe entre guillemets simples, veuillez utiliser la commande ci-dessous pour obtenir les liens:
MyWebDriver.findElement (By.xpath ("// div [@ class = 'inner-results firma']")). click ();
Bien que cela ne clique que sur le premier élément de la classe, si vous voulez obtenir tous les liens puis cliquez sur le premier lien, vous pouvez utiliser: MyWebDriver.findElements (By.xpath ("// div [@ class = 'inner-results firma'] ")). get (0) .click ();
et en utilisant ce xpath, vous pouvez cliquer sur n'importe quel lien mentionné sur la page en envoyant l'index dans le get (index) méthode.
Veuillez ci-dessous l'extrait de code qui vous donnera les liens stockés dans weblist:
import java.awt.AWTException; import java.util.List; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.Test; public class Testing { public static WebDriver driver; @Test public void test() throws InterruptedException, AWTException { System.setProperty("webdriver.chrome.driver", "./Driver/chromedriver"); driver = new ChromeDriver(); driver.get("https://www.pibr.org.pl/pl/search/auditor?biegli=1&firmy=1&name=&post_code=&city=Warszawa"); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(45, TimeUnit.SECONDS); List<WebElement> fromDropDwon = driver.findElements(By.xpath("/html/body/div[2]/div/div[2]/div/h3/a")); for (WebElement element : fromDropDwon) { System.out.println(element.getAttribute("href")); } } }
// div [@ class = 'inner-results firma']
est le xpath