我广泛使用 PHPUnit 和 selenium 以及 chibimagic.org github 页面上提供的 WebDriver-PHP 库。我在让这种自动化工作方面做得很好,但我偶然发现了一个问题,但一直在解决,直到我发现这个问题导致我无法完成我开始自动化的工作。
如果我在我们测试的网站(实际上是一个 Web 应用程序)的特定页面上有多个选择框,我只能选择第一个选择框并更改其选项,但不能选择后面的其余选择框,即使我是使用 get_element 单独选择正确的选择框,它只选择第一个选择框,不再选择。我将包含我无法选择选择框的 HTML 页面,我必须选择该选择框才能完成该页面上的交易。
我想指出,此功能确实适用于其他页面,但只是我正在测试的某些网页会产生此问题。我无法更改此页面的 HTML 代码,因为它完全由另一家公司控制和开发。因此,将无法更改 HTML,并且我看不出可以选择多个选择框的页面与无法成功选择多个选择框的页面之间的区别。
我在使用 get_element 时使用 XPath、CSS 和标准选择器,并且我将它用于他们毫无问题地选择元素的页面,以消除导致您认为我没有正确编码它的任何原因。编码很好,库在 HTML 代码的特定情况下没有正确执行某些操作。
注意:这发生在许多具有多个选择框的页面上。请参考 HTML 示例的 pasteit 链接。
附加的 HTML 文档:问题示例 HTML:CreateDriver.html - 无法选择多个选择框(仅选择第一个选择框) http://pastebin.com/zdhSJLh6
没问题的示例 HTML:TripScreen.html - 能够选择多个选择框 http://pastebin.com/6JPAZZG3