我正试图从跨度获取文本(图片中的质量), 但我没有找到它没有得到它的原因。
感谢所有帮助者, 我在这里使用python。
我的代码:
elem=driver.findElement(By.XPATH("//span[@class='ytp-menu-label-secondary']"));
来自html:
答案 0 :(得分:2)
在python中它应该是
element = driver.find_element_by_xpath("//span[@class='ytp-menu-label-secondary']")
如果您愿意,可以按类名称
element = driver.find_element_by_class_name('ytp-menu-label-secondary')
对于文本
elementText = element.text
答案 1 :(得分:0)
http://yizeng.me/2014/04/08/get-text-from-hidden-elements-using-selenium-webdriver/
摘自此链接: 根据WebDriver规范的定义,Selenium WebDriver只会与可见元素进行交互,因此不可见元素的文本将始终作为空字符串返回。
但是,在某些情况下,人们可能会发现通过调用element.attribute('attributeName')或者像返回参数一样注入JavaScript来获取隐藏文本(可以从元素的textContent,innerText或innerHTML属性中检索)很有用[ 0] .attributeName。
innerHTML将返回此元素的内部HTML,其中包含所有HTML标记。 例如,HelloHTML for Hello
World!
将是HelloWorld!
而不是Hello World!。 textContent和innerText只检索其后代的所有文本内容,而不包含任何HTML标记。 textContent是符合W3C标准的textContent属性[1],但遗憾的是IE [2]不支持。 innerText不是W3C DOM规范的一部分,不受Firefox支持。 以下是使用Selenium WebDriver .NET,Ruby和Python绑定从隐藏元素中获取文本的简要演示。
DEMO_PAGE ='''数据:text / html,
演示页面,了解如何使用Selenium WebDriver从隐藏元素中获取文本。
在里面隐藏段落演示div。
$('.view-more').click(function() {
console.log($(this).attr('start'));
})