我正在使用selenium来执行一些自动化操作,并且我尝试使用Selenium& amp; CSS选择器。
我的问题是如何选择从所有匹配节点列表返回的第n个匹配节点?
例如我的CSS选择器是" .contactName"返回2个匹配的节点。使用Selenium我想做类似
的事情selenium.Click("css=.contactName the second match");
非常感谢任何帮助。
答案 0 :(得分:4)
这是我最终使用的,以便选择具有类名
的第二个输入selenium.Click("xpath=(//input[@class='contactName'])[2]");
答案 1 :(得分:2)
这两个节点共享同一个父节点吗?如果是这样,您可以尝试其中一种,具体取决于它们在DOM中的父级位置以及是否存在任何其他类型的元素:
selenium.Click("css=.contactName:nth-child(2)");
selenium.Click("css=.contactName + .contactName");
selenium.Click("css=.contactName ~ .contactName");
如果这两个节点不共享同一个父节点,则可能需要使用XPath定位器而不是CSS:
selenium.Click("xpath=//*[@class='contactName'][2]");