我正在尝试使用Selenium RC和WebDriver(分别)来操作HTML页面。源代码包含类似以下内容:
<a href="/logoff"><span>
<span>L</span>
ogoff
</span>
</a>
我想针对包含“Logoff”文本的链接进行定位,即使重新设置span也能正常工作。我使用XPath,因为它应该在WebDriver和Selenium RC中都能正常工作。这在IE中可以工作,但稍微有些脆弱:
//a[contains(., 'ogoff')]
这样做更加健壮,但是不能正常工作:
//a[.='Logoff']
你能解释一下第二个为什么不起作用吗?特别是,.
应该如何解释为字符串,并且Selenium和WebDriver如何处理它?
我也在尝试让Selenium与Firefox一起工作,这会带来另一个问题。
normalize-space()
和translate(., ' ','')
,因为它们非常有用。 - Bennett McElwee