Java 如何从以下代码中获取文本

Java 如何从以下代码中获取文本,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,HTML代码 <label for="ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_4">Job Title</label> 我尝试了gettext方法,但它不起作用。。。当我使用上面的代码时,它正在显示 显示空值 在控制台中,标记没有id属性,因此您需要使用它的xpath: WebElement label = driver.findElement(By.xpath("//label[@for='ctl00_

HTML代码

<label for="ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_4">Job Title</label>
我尝试了gettext方法,但它不起作用。。。当我使用上面的代码时,它正在显示

显示空值

在控制台中,
标记没有
id
属性,因此您需要使用它的
xpath

WebElement label = driver.findElement(By.xpath("//label[@for='ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_4']"));
然后,您可以使用:

String Jobvalue = label.getText();
或:


请确保您的HTML代码与原始应用程序代码相同。如果两者相同,则以下操作将起作用

 String value=driver.findElement(By.xpath('//label[@for='ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_4']')).getText();

首先,您需要检查标签是否可见,因为Selenium不支持读取不可见元素的文本。其次,根据您的代码,您正在尝试检查标签是否可见。有一个属性“已显示”。
driver.findElement(By.xpath(“xpath代表标签”)。显示
此调用将根据标签是否可见返回true或false


不,如果您想读取文本,在这种情况下。如果标签可见,则文本属性将返回文本。如果不可见,则应尝试.getAttribute(“innerHTML”)。这应该适合您。

元素的ID为“ctl00\u ContentPlaceholder 1\u RadPanelBar1\u i0\u chkColumns\u 4”,您正试图使用“ctl00\u ContentPlaceholder 1\u RadPanelBar1\u i0\u chkColumns\u 5”来提取它。这是不可能的。请使用唯一的ID。如果是动态更改,请从静态父级生成xpath。现在代码已更正。请再次重新编辑代码好吗?
String Jobvalue = label.getAttribute("innerHTML");
 String value=driver.findElement(By.xpath('//label[@for='ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_4']')).getText();