Selenium 内联图像alt属性和getText()
我得到了这样的东西:Selenium 内联图像alt属性和getText(),selenium,selenium-webdriver,Selenium,Selenium Webdriver,我得到了这样的东西: <div id=soandso> Having a <img src="cat.gif" alt="Meow"> always helps </div> 有 总是有帮助 我在查找div元素时没有问题,当我调用getText()时,我希望收到“Having a Meow always help”,但是我得到的文本没有alt(Meow)描述 我同意这是预期的行为,但这不是我需要的 如何更好地内联alt文本或至少与内联图像一
<div id=soandso>
Having a
<img src="cat.gif" alt="Meow">
always helps
</div>
有
总是有帮助
我在查找div元素时没有问题,当我调用getText()时,我希望收到“Having a Meow always help”,但是我得到的文本没有alt(Meow)描述
我同意这是预期的行为,但这不是我需要的
如何更好地内联alt文本或至少与内联图像一起获得文本块,以验证图像在文本中的正确位置?selenium webdriver在这两种情况下都是这样工作的
WebElement Div_elem=Driver.findElement(By.id("soandso"));
String Div_text = Div_elem.getText();
String img_text=Div_elem.findElement(By.tagName("img")).getAttribute("alt");
如果selenium webdriver在这两种情况下都能以这种方式工作,我们将非常高兴
WebElement Div_elem=Driver.findElement(By.id("soandso"));
String Div_text = Div_elem.getText();
String img_text=Div_elem.findElement(By.tagName("img")).getAttribute("alt");
如果有帮助,我会很高兴的我在这里找到了一个解决方案:
他建议的解决办法是:
def get_text_excluding_children(driver, element):
return driver.execute_script("""
return jQuery(arguments[0]).contents().filter(function() {
return this.nodeType == Node.TEXT_NODE;
}).text();
""", element)
传递给函数的元素可以是从find_元素…()
方法获得的东西(即,它可以是WebElement
对象)
- 基本上建议您使用jQuery来获取div中的文本
def get_text_excluding_children(driver, element):
return driver.execute_script("""
return jQuery(arguments[0]).contents().filter(function() {
return this.nodeType == Node.TEXT_NODE;
}).text();
""", element)
传递给函数的元素可以是从find_元素…()
方法获得的东西(即,它可以是WebElement
对象)
- 基本上建议您使用jQuery来获取div中的文本