获取名称和值作为定位器

时间:2017-08-13 07:57:50

标签: selenium automation selenium-ide

我正在使用:Selenium IDE(2.9.1),Firefox,插件 - 存储变量 - Selblocks

我真的遇到了我正在编写的脚本上的定位器问题,我想澄清一些我对它的困惑。

他们是一个网页,有两个大框,每个框都包含一个列表中的项目。该项目将位于“unassignedbox”或“assignedBox”中。

我的问题是我似乎找不到在我的定位器中获取特定方法的方法。 有争议的命令:storeElementPresent | locator | variable1name

使用选择器基本上只应用值,例如:

css=option[value="item1"]

这不正常,因为值可以在任一框中。所以它总是如此。我需要知道它是否在assignBox中。订单总是在未分配的值上更改,因此我无法使用xpath。

在这些情况下,我会使用带有值的命令(这之前已经保存了我)但是它似乎不起作用。我知道这可能是我对定位器或其他东西的误解,但我很想知道如何在定位器中找到对象的名称和价值。

我试过了:

storeElementPresent|name=assignedBox|variable1Name

- 找到成功。我可以看到他们的。

storeElementPresent|css=select[name="assignedBox"]|variable1Name

- 找到成功。我可以看到他们的。

storeElementPresent|css=option[value="item1"]|variable1Name

- 找到成功。我可以看到他们的。

这并不奇怪,当然这个名字很好,但是在应用价值之后就失败了。

storeElementPresent|name=assignedBox value=item1|variable1Name

-Find未找到,运行后值为false。

storeElementPresent|name=assignedBox value="item1"|variable1Name

-Find未找到,运行后值为false。

storeElementPresent|name=assignedBox value='item1'|variable1Name

-Find未找到,运行后值为false。

storeElementPresent|name="assignedBox" value="item1"|variable1Name

-Find未找到,运行后值为false。

storeElementPresent|name='assignedBox' value='item1'|variable1Name

-Find未找到,运行后值为false。

我知道我之前在脚本上使用了一个工作命令(不是在这些特定的方框上),我对它进行了审核,其基本上只是|name=something value=blah|

我到达这里有点可能我应该使用css定位器,如选择器适用并尝试类似:

css=select[name="assignedBox" value="item1"]

css=option[name="assignedBox" value="item1"]

css=select[name="assignedBox"]@value=item1(这个只是成功找到assignedBox,说是true,但没有找到具体的值,只是找到了分配的盒子) 或

css=select[name="assignedBox"]value=item1

当然那些也失败了。我尝试使用引号,没有引号,使用select,使用选项......

我已经尝试了很多以上但我不认为我失败的尝试会真的有帮助。

此外,为了理智,我一直在使用名称中包含1个单词的值进行测试,例如value = item1,但它们是带有空格的值,我需要这样做。似乎我得到这个运行时它没有引号,我记得它使用引号时失败。如果您回答了上述问题,那么可以解释当值有空格时如何处理?

1 个答案:

答案 0 :(得分:0)

当你有空格时使用引号。

使用[attr1='attr1value'][attr2='attr2value']表示具有该值的属性attr1和具有该值的attr2

您可以尝试以下内容:

css=select[name='assignedBox'][value='item1']

对于空格:

css=select[name='assignedBox'][value='item 1']

属性的部分匹配:

css=select[name*=assigned][value*=item]

名称的部分匹配,使用拆分词的值完全匹配:

css=select[name*=assigned][value*=item][value*='1']