如何使用SeleniumWebDriver和Java从HTML代码中获取文本
HTML代码如何使用SeleniumWebDriver和Java从HTML代码中获取文本,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,HTML代码 <label for="ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21">Royality Free</label> 即使我尝试了getAttribute(),上面的selenium代码也不起作用; 它显示NullPointerException您正试图从标签中读取文本,但发现一个元素的id为ctl00\u ContentPlaceHolder1\u RadPanelBar1\u i0\u c
<label for="ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21">Royality Free</label>
即使我尝试了getAttribute(),上面的selenium代码也不起作用;
它显示NullPointerException您正试图从标签中读取文本,但发现一个元素的id为
ctl00\u ContentPlaceHolder1\u RadPanelBar1\u i0\u chkColumns\u 21
这不是标签的id。您的代码应该是:
WebElement labelElement = driver.findElement(By.cssSelector("label[for="ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21"]"));
System.out.println(labelElement.getText());
这应该行得通
此外,定位器:
ctl00\u ContentPlaceHolder1\u RadPanelBar1\u i0\u chkColumns\u 21
似乎是随机生成的定位器。只要确认情况并非如此。如果是,则您需要更改定位策略。您可以发布网页url或完整的HTML代码片段吗?一种选择是使用其父项或父项来访问标签
WebElement labelElement = driver.findElement(By.cssSelector("label[for="ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21"]"));
System.out.println(labelElement.getText());