亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Selenium 如何通過 XPath 訪問 WebElement?

Selenium 如何通過 XPath 訪問 WebElement?

HUX布斯 2022-06-23 20:18:14
我需要訪問本網站上搜索結果的鏈接(https://www.pibr.org.pl/pl/search/auditor?biegli=1&firmy=1&name=&post_code=&city=Warszawa)并將它們放入WebElement,但我無法按類或任何東西找到它們。使用時xpath:MyWebDriver.findElement(By.xpath("//div[@class=inner-results firma]")).click();我收到此錯誤:"Given xpath expression "//div[@class=inner-results firma]" is invalid: SyntaxError: The expression is not a legal expression."如何訪問所有結果鏈接?
查看完整描述

3 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

xpath應該是,在屬性"//div[@class='inner-results firma']"兩邊加上引號。class您還應該使用findElements來獲得多個結果

MyWebDriver.findElements(By.xpath("//div[@class='inner-results firm']")).click();

附帶說明一下,Java 中的變量應該以小寫字母開頭,MyWebDriver->myWebDriver


查看完整回答
反對 回復 2022-06-23
?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

您需要將類名放在單引號中,請使用以下命令獲取鏈接: MyWebDriver.findElement(By.xpath("//div[@class='inner-results firma']")).click();

雖然這只會點擊類的第一個元素,但如果你想獲取所有鏈接,然后點擊第一個鏈接,那么你可以使用:MyWebDriver.findElements(By.xpath("//div[@class='inner-results firma']")).get(0).click();并且通過使用這個 xpath,你可以通過發送點擊頁面上提到的任何鏈接get(index) 方法中的索引。


查看完整回答
反對 回復 2022-06-23
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

請在下面的代碼片段中為您提供鏈接存儲在網絡列表中:


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"));

        }

    }

}

輸出:


http://img1.sycdn.imooc.com//62b45a380001d0c807570783.jpg

查看完整回答
反對 回復 2022-06-23
  • 3 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號