Selenium 在 IE8 和 Firefox3.6 上使用 Xpath

发布于 2024-10-13 02:46:43 字数 638 浏览 3 评论 0原文

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

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

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

非常感谢。

编辑

有问题的元素是:

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

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

Is there any discernible reason as to why Selenium finds and successfully executes the following command on a Firefox browser, but not IE8 (via selenium RC)

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

Im assuming its something to do with IE "rendering" (not sure the correct term) xpath differently to firefox. Is this the case? How do they differ? What articles do you know that will help me overcome this and similar issues regarding the two browsers and xpath?

Much thanks.

EDIT

The element in question is:

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

Its nested within some pretty messed up nested tables, and is added dynamically via Ajax.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

漆黑的白昼 2024-10-20 02:46:43

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

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

幸运的是,这为我每次提供了足够的信息来查找唯一元素。

就一般问题而言,适用于 Firefox 的 xpath 不一定适用于 IE。这是我在重构代码期间发现的唯一情况。为了将来的参考,只需对每个进行测试,找出差异并解决问题。

My solution was to remove the type from the xpath locator

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

Which fortunately left me with enough information to find the unique element each time.

As far as the generic question, an xpath that works on Firefox won't necessarily work on IE. This was the only case however I found during refactoring of my code. For future reference, just have to test on each, find the differences and work around.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文