我的实际查询是,我想使用css选择器或xpath检索HTML内部文本值。我可以通过使用document.getElementById来实现此目的,但不能使用选择器,而是只能打印tag元素,而不能打印其中的文本。
例如:
<li class="active">
<span id="lastPrice">1,603.35</span>
<span id="CAToday"></span><br>
<span class="up" id="change">28.80</span>
</li>
在上述HTML中,我想使用
来打印 1,603.35Css或
xpath
注意:我已经钻研了该论坛,但是找不到所需的解决方案。
答案 0 :(得分:2)
此XPath表达式
string(/li/span[@id='lastPrice'])
使用这种格式正确的XML
<li class="active">
<span id="lastPrice">1,603.35</span>
<span id="CAToday"></span><br/>
<span class="up" id="change">28.80</span>
</li>
结果
1,603.35
答案 1 :(得分:1)
您应该能够使用XPath版本2 matches
函数:
//div[matches(text(), 'Hello ?\w+ What would you like to do today \w+')]
允许使用正则表达式。
答案 2 :(得分:0)
Java Selenium(xpath示例):
driver.findElement(By.xpath("//span[@id='lastPrice']").getAttribute("innerText")
Python Selenium(CSS示例):
driver.find_element_by_css_selector("span#lastPrice").get_attribute("innerText")