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/