Xpath 如何使用SeleniumWebDriver获取滚动条内隐藏复选框的文本?
我正在尝试按品牌自动筛选场景,现在遇到了这样的情况:我的代码无法打印隐藏在滚动条中的品牌名称 遵循的步骤Xpath 如何使用SeleniumWebDriver获取滚动条内隐藏复选框的文本?,xpath,selenium-webdriver,hidden,Xpath,Selenium Webdriver,Hidden,我正在尝试按品牌自动筛选场景,现在遇到了这样的情况:我的代码无法打印隐藏在滚动条中的品牌名称 遵循的步骤 去 单击“跳过并浏览”按钮 搜索Apple并查看左侧的品牌列表 @FindAll({@FindBy(xpath=“//*@id='filter\u brands\u list']/div/div/li/label”)) 列出chkBrands 上面的代码行识别所有品牌名称,但当我使用下面的代码打印它们时,我只能看到可见的品牌名称 for(WebElement eachElement:chk
for(WebElement eachElement:chkBrands){
System.out.println("No. of brands is "+chkBrands.size());
System.out.println(eachElement.getText());
}
你能告诉我解决办法吗?很抱歉,我想不出解决方案,因为我是Selenium的业余爱好者。WebElement.getText()
仅当元素显示在屏幕上时才会返回该元素的文本
这意味着如果isDisplayed
方法返回false
,则getText()
方法将返回空
正如WebDriver规范中所定义的,Selenium WebDriver将只进行交互
对于可见元素,因此不可见元素的文本将
始终作为空字符串返回
然而,在某些情况下,人们可能会发现获取隐藏文本很有用,
可以从元素的textContent、innerText或
innerHTML属性,通过调用element.attribute('attributeName')或
正在注入类似JavaScript的返回参数[0]。attributeName
因此,您可以通过textContent
属性获取文本
eachElement.getAttribute("textContent")
WebElement.getText()
仅当元素显示在屏幕上时才会返回该元素的文本
这意味着如果isDisplayed
方法返回false
,则getText()
方法将返回空
正如WebDriver规范中所定义的,Selenium WebDriver将只进行交互
对于可见元素,因此不可见元素的文本将
始终作为空字符串返回
然而,在某些情况下,人们可能会发现获取隐藏文本很有用,
可以从元素的textContent、innerText或
innerHTML属性,通过调用element.attribute('attributeName')或
正在注入类似JavaScript的返回参数[0]。attributeName
因此,您可以通过textContent
属性获取文本
eachElement.getAttribute("textContent")
试试这个:
JavascriptExecutor je = (JavascriptExecutor)driver;
WebElement element = driver.findElement(By.xpath("Your_xpath"));
String text_value = ((JavascriptExecutor) driver).executeScript("return arguments[0].innerHTML;",element);
试试这个:
JavascriptExecutor je = (JavascriptExecutor)driver;
WebElement element = driver.findElement(By.xpath("Your_xpath"));
String text_value = ((JavascriptExecutor) driver).executeScript("return arguments[0].innerHTML;",element);
嗨,马丹,谢谢你的回复。这对我很有用。@SrinivasanRamu那么你可以嗨Madhan了,谢谢你的回复。这对我很有用。@SrinivasanRamu那么你可以