Javascript 无法使用Selenium获取元素的文本
我试图使用WebDriver.getText()方法从元素中提取文本,但总是得到一个空字符串 详情如下: 环境: 网络浏览器:Chrome 版本:48.0 Chrome驱动程序版本:2.20 应用程序: 在我的主页上,我点击一个菜单选项,在屏幕上创建一个下拉菜单,我试图从中获取文本的元素就是这个下拉菜单中的一个元素 DOM: chrome中的XPath助手扩展告诉我,我的XPath是唯一的,但当我尝试对由该XPath标识的元素执行getText时,我得到一个空字符串 Java代码:Javascript 无法使用Selenium获取元素的文本,javascript,java,selenium,xpath,selenium-webdriver,Javascript,Java,Selenium,Xpath,Selenium Webdriver,我试图使用WebDriver.getText()方法从元素中提取文本,但总是得到一个空字符串 详情如下: 环境: 网络浏览器:Chrome 版本:48.0 Chrome驱动程序版本:2.20 应用程序: 在我的主页上,我点击一个菜单选项,在屏幕上创建一个下拉菜单,我试图从中获取文本的元素就是这个下拉菜单中的一个元素 DOM: chrome中的XPath助手扩展告诉我,我的XPath是唯一的,但当我尝试对由该XPath标识的元素执行getText时,我得到一个空字符串 Java代码: List&l
List<WebElement>list = getProfileList(); //this function checks if element is visible and if it is visible it adds it in to the list and returns it.
for(Webelement e : list)
{
System.out.println(e.getText());
}
Listlist=getProfileList()//此函数检查元素是否可见,如果可见,则将其添加到列表中并返回。
for(Webelement e:list)
{
System.out.println(e.getText());
}
除此之外,我还尝试了getAttribute(“innerHTML”)、getAttribute(“innerText”)和中建议的一些java脚本(老实说,我不理解它们,但我仍然尝试过),但没有找到成功的方法
我真的很感激任何帮助
谢谢请尝试以下代码:
WebElement element = driver.findElement(By.xpath("//div[contains(text(),'Test Profile')]"));
String text = element.getText();
请尝试以下代码:
WebElement element = driver.findElement(By.xpath("//div[contains(text(),'Test Profile')]"));
String text = element.getText();
尝试单击“选择”下拉列表并尝试获取
注意:确保您处于正确的帧中尝试单击“选择”下拉列表并尝试获取
注意:确保您处于正确的框架中,首先打开下拉列表,查找父WebElement,然后在父WebElement中查找WebElement
profileName
并使用getText()
方法
请尝试以下代码:
WebElement parentElement=driver.findElement(By.className(“setingsdropdown”);
WebElement profileName=parentElement.findElement(By.className(“profileName”);
String text=profileName.getText();
首先打开下拉列表,查找父WebElement,然后在父WebElement中查找WebElementprofileName
并使用getText()
方法
请尝试以下代码:
WebElement parentElement=driver.findElement(By.className(“setingsdropdown”);
WebElement profileName=parentElement.findElement(By.className(“profileName”);
String text=profileName.getText();
你能添加getProfileList()
实现吗?@guy我不能编辑上面的帖子,所以请看这里:(PS:函数返回末尾的列表,但我在重新创建供公众使用时错过了)。你能添加getProfileList()
实现吗?@guy我不能编辑上面的帖子,请看这里:(附:函数在末尾返回列表,但我在为公众消费重新创建列表时错过了它)。
WebElement element = driver.findElement(By.xpath("//div[contains(text(),'Test Profile')]"));
String text = element.getText();