Selenium/WebDriver驱动IE的XPath解释
我尝试使用Selenium RC和WebDriver(分别)来操作HTML页面。源包含如下内容:Selenium/WebDriver驱动IE的XPath解释,xpath,selenium,webdriver,Xpath,Selenium,Webdriver,我尝试使用Selenium RC和WebDriver(分别)来操作HTML页面。源包含如下内容: <a href="/logoff"><span> <span>L</span> ogoff </span> </a> 这将更加健壮,但不起作用: //a[.='Logoff'] 你能解释一下为什么第二个不起作用吗?特别是,应该如何将解释为字符串,以及Selenium和WebDriver是如何实现的 我
<a href="/logoff"><span>
<span>L</span>
ogoff
</span>
</a>
这将更加健壮,但不起作用:
//a[.='Logoff']
你能解释一下为什么第二个不起作用吗?特别是,应该如何将
解释为字符串,以及Selenium和WebDriver是如何实现的
我也在尝试让Selenium与Firefox配合使用,这样会带来另一个麻烦。对于Selenium,您可以将其命名为
link=“Logoff”
,其中Logoff是链接中的文本。有空格(空格和回车符)处理器认为是重要的,并影响a
的计算值
当您像这样选择**
的值时,结果是:
* L
ogoff
*
*L ogoff*
如果使用**
,结果是:
* L
ogoff
*
*L ogoff*
如果您希望能够选择“注销”,可以使用normalize-space()
然后用translate()
将其包装以删除空格:
//a[translate(normalize-space(), ' ','')='Logoff']
是的,这是这种情况下最简单的方法。谢谢(语法为link=Logoff
不带引号。)感谢您对空格处理的解释。也许XPath应该为normalize-space()
和translate(,“,”)
使用缩写语法,因为它们非常有用。