我点击模态窗口非常简单。一般来说,只有相关部分是这样的:
<div id="partSelection">
<button value="0" name="partSelection">BLATNÍK P L</button>
<button value="1" name="partSelection">BLATNÍK P P</button>
我需要单击此按钮之一,我知道如何点击此按钮: xpath:
element(by.xpath('//*[@id="partSelection"]/button[2]')).click();
也可以使用按钮文字:
element(by.buttonText("BLATNÍK P P")).click();
但我注意到每个按钮的值不同,我相信这是开发人员不会改变的。有没有办法如何点击基于价值的元素?
感谢您的建议。
答案 0 :(得分:4)
添加现有答案。
您可以使用以下CSS选择器解决它:
element(by.css("#partSelection button[value=0]")).click();
或者,使用by.xpath()
定位器:
element(by.xpath("//div[@id='partSelection']/button[@value='0']")).click();
请注意,如果您打算使用&#34;按值&#34;技术经常,为遵循DRY原则,定义自定义by.value()
定位器可能是个好主意:
答案 1 :(得分:2)
如果您只想查找特定属性,此示例应该有效。当我试图找出找到特定属性的最佳方法时,我通常会参考此css selectors。
基本上,细分是在我们需要按钮的情况下找到您想要的标记,然后我们想要找到该标记内的属性。因此,我们可以选择值或名称。两个按钮的名称相同,因此我们不想使用它。但是,值对于每个按钮都是不同的,因此在这种情况下使用会更好。
element(by.ccs('tag[attribute=""]');
tag = button
attribute = value
element(by.css('button[value="0"]')).click(); // button with text BLATNÍK P L
element(by.css('button[value="1"]')).click(); // button with text BLATNÍK P P