Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/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
Javascript 无法使用Selenium获取元素的文本_Javascript_Java_Selenium_Xpath_Selenium Webdriver - Fatal编程技术网

Javascript 无法使用Selenium获取元素的文本

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

我试图使用WebDriver.getText()方法从元素中提取文本,但总是得到一个空字符串

详情如下:

环境: 网络浏览器:Chrome 版本:48.0 Chrome驱动程序版本:2.20

应用程序: 在我的主页上,我点击一个菜单选项,在屏幕上创建一个下拉菜单,我试图从中获取文本的元素就是这个下拉菜单中的一个元素

DOM:

chrome中的XPath助手扩展告诉我,我的XPath是唯一的,但当我尝试对由该XPath标识的元素执行getText时,我得到一个空字符串

Java代码:

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中查找WebElement
profileName
并使用
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();