为什么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动态添加。
答案 0 :(得分:0)
我的解决方案是从xpath定位器中删除类型
selenium.click("//input[starts-with(@name, 'client-select')
and @value='0']");
幸运的是,每次都给我提供了足够的信息来找到独特的元素。
就通用问题而言,适用于Firefox的xpath不一定适用于IE。这是我在重构代码时遇到的唯一情况。为了将来参考,只需要测试每个,找到差异并解决。