Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用SeleniumWebDriver和Java从HTML代码中获取文本_Java_Selenium_Selenium Webdriver - Fatal编程技术网

如何使用SeleniumWebDriver和Java从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

HTML代码

<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());