Selenium(Java):Webelements的有序列表,但带有嵌套的div

时间:2018-07-02 14:08:26

标签: java html css selenium xpath

我正在Chrome中使用JavaSE和Selenium WebDriver。我的任务是找到一组输入字段并对其进行处理。问题是我必须按照呈现的顺序进行操作,它们可以在网页上找到。

所以我将通过XPATH找到它们,因为这就是给定网页中的工作原理。假设我在以下路径上有一组输入:... with TableA as ( select 1 as "COL1" from dual union all select 2 from dual union all select 3 from dual union all select 4 from dual union all select 5 from dual ), TableB as ( select 1 as "COL1" from dual union all select 2 from dual union all select 3 from dual ) select * from TableA where not exists(select * from TableB where TableA.COL1 = TableB.COL1) 但是出于某些原因,我不能说,某些类型的输入字段(例如文本和数字)位于以下路径中:... {/form/div/div/div

问题在于,一组输入要比其他一组“更深”,因此当我使用/form/div/div将它们保存到List<WebElement>时,我无法真正保存它们的顺序。

我曾想用driver.findElements查找输入,但是id名称中有一个空格,Selenium显然不喜欢该空格。在这种情况下,我不确定相对XPATH是否会有所帮助。

您的评论受到赞赏。

1 个答案:

答案 0 :(得分:1)

我犯了一个错误,就是对XPATH的了解不够。我要寻找的是xpath表达式中的“和”操作数。如果您是像我这样的初学者,请在w3schools上阅读有关它的信息。

基本上,以下代码解决了我的问题,作为一种解决方法:

driver.findElements(By.xpath("//input[@required=''] | //select[@required='']"));