java - 如何通过使用 Selenium WebDriver 和 Java 从此 HTML 代码获取文本

标签 java selenium selenium-webdriver

HTML 代码

<label for="ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21">Royality Free</label>

Selenium 代码

driver.findElement(By.id("ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21")).getText();

即使我尝试了 getAttribute(),上面的 selenium 代码也不起作用; 它显示 NullPointerException

最佳答案

您正在尝试从标签读取文本,但发现一个 ID 为 ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21 的元素,这不是标签的 ID。

您的代码应该是:

WebElement labelElement = driver.findElement(By.cssSelector("label[for="ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21"]"));
System.out.println(labelElement.getText());

这应该有效。

此外,定位器:ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21 似乎是随机生成的定位器。只要确认情况并非如此即可。如果是,那么您将需要更改定位策略。

关于java - 如何通过使用 Selenium WebDriver 和 Java 从此 HTML 代码获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22625624/

相关文章:

java - j2ee服务层自动化测试用例

python - 如何根据使用 Selenium 的 html 从使用 xpath 找到的元素中检索属性 aria-label 的值

java - 使用Selenium查找网页上所有 "hoverable"元素

java - Quartz CronTrigger 多次触发自身

java - 在 Java Swing 中编码时出现延迟

selenium - TestNG Assert失败如何截图?

java - 如果它不能为空,但需要初始化,我该怎么办?

selenium - 如何在 selenium 自动化中更改 chrome 浏览器语言

java - 将 WebElement 类型转换为 By 类型

java - Android Location Distance为空