如何从此HTML代码中获取文本通过将Selenium WebDriver与Java一起使用

时间:2014-03-25 04:45:19

标签: java selenium selenium-webdriver

HTML代码

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

Selenium Code

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

即使我尝试了getAttribute(),上面的selenium代码也无法正常工作; 它显示NullPointerException

1 个答案:

答案 0 :(得分:1)

您正在尝试从标签中读取文字但您找到的元素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 似乎是随机生成的定位器。只是确认它不是这种情况。如果是,那么您将需要更改定位策略。