我正在使用: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,但它们是带有空格的值,我需要这样做。似乎我得到这个运行时它没有引号,我记得它使用引号时失败。如果您回答了上述问题,那么可以解释当值有空格时如何处理?
答案 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']