我想评估相对于给定元素的 XPath 表达式。
我一直在这里阅读:http: //www.w3schools.com/xpath/default.asp
看起来下面的语法之一应该可以工作(尤其是没有前导斜杠或后代:)
但是,似乎没有一个在 HTMLUnit 中起作用。非常感谢任何帮助(哦,顺便说一句,这是一个 groovy 脚本)。谢谢!
http://htmlunit.sourceforge.net/
米莎
#!/usr/bin/env groovy
import com.gargoylesoftware.htmlunit.WebClient
def html="""
<html><head><title>Test</title></head>
<body>
<div class='levelone'>
<div class='leveltwo'>
<div class='levelthree' />
</div>
<div class='leveltwo'>
<div class='levelthree' />
<div class='levelthree' />
</div>
</div>
</body>
</html>
"""
def f=new File('/tmp/test.html')
if (f.exists()) {
f.delete()
}
def fos=new FileOutputStream(f)
fos<<html
def webClient=new WebClient()
def page=webClient.getPage('file:///tmp/test.html')
def element=page.getByXPath("//div[@class='levelone']")
assert element.size()==1
element=page.getByXPath("div[@class='levelone']")
assert element.size()==0
element=page.getByXPath("/div[@class='levelone']")
assert element.size()==0
element=page.getByXPath("descendant:div[@class='levelone']") // this
gives namespace error
assert element.size()==0
谢谢!!!