我无法访问表值,因为它没有表标签

问题描述 投票:0回答:1

表通常有一个标签,但这个表是在类中定义的,它也有一个容器 这是网站:https://opensource-demo.orangehrmlive.com/web/index.php/admin/viewJobTitleList

enter image description here

List<WebElement> jobs = driver.findElements(By.xpath("//*[@id=\'app\']/div[1]/div[2]/div[2]/div/div/div[3]/div/div/div[2]/div/div/div[1]/div[1]/div/div/div[2]"));
    for(int i=0;i<jobs.size();i++){
            System.out.println(jobs.get(i).getText());
        }
    }

上面的代码既没有显示错误也没有工作,请告诉我哪里出了问题

java selenium-webdriver selenium-chromedriver selenium-ide
1个回答
0
投票

问题是您的定位器不正确。当我尝试时,它没有发现任何元素。

切换到 CSS 选择器,

div.oxd-table-body > div > div > div:nth-of-type(2)
它应该可以正常工作。

List<WebElement> jobs = driver.findElements(By.cssSelector("div.oxd-table-body > div > div > div:nth-of-type(2)"));
for(int i = 0; i < jobs.size(); i++){
        System.out.println(jobs.get(i).getText());
    }
}

注意:您可以在浏览器的开发工具控制台中测试定位器。只需为 CSS 选择器运行

$$()
,为 XPath 运行
$x()
。例如,上面的定位器是

$$("div.oxd-table-body > div > div > div:nth-of-type(2)")

返回页面上的 25 个元素。

© www.soinside.com 2019 - 2024. All rights reserved.