Selenium在IE8和Firefox3.6上使用Xpath

时间:2011-01-20 05:10:53

标签: firefox internet-explorer-8 selenium selenium-rc xpath

为什么Selenium在Firefox浏览器上找到并成功执行以下命令,而不是IE8(通过selenium RC),是否有任何可辨别的原因

selenium.click("//input[@type='Radio' 
                        and starts-with(@name, 'client-select') 
                        and @value='0']");

我假设它与IE“渲染”(不确定正确的术语)xpath与firefox有所不同。是这样的吗?他们有什么不同?您知道哪些文章可以帮助我克服这两个浏览器和xpath的类似问题?

非常感谢。

修改

有问题的元素是:

<input type="Radio" 
       value="1" 
       onfocus="" 
       onclick="return doRTgl(this);" 
       onblur="" 
       name="client-select_1580158">

它嵌套在一些非常混乱的嵌套表中,并通过Ajax动态添加。

1 个答案:

答案 0 :(得分:0)

我的解决方案是从xpath定位器中删除类型

 selenium.click("//input[starts-with(@name, 'client-select') 
                    and @value='0']");

幸运的是,每次都给我提供了足够的信息来找到独特的元素。

就通用问题而言,适用于Firefox的xpath不一定适用于IE。这是我在重构代码时遇到的唯一情况。为了将来参考,只需要测试每个,找到差异并解决。