按值单击元素 - 量角器
Click element by Value - protractor
我正在点击模式 window,这非常简单。一般来说,唯一相关的部分是:
<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();
但我注意到每个按钮都有不同的值,我相信这是开发人员不会改变的。有没有办法根据值单击元素?
感谢您的指教。
如果您只想查找特定属性,则此示例应该有效。当我试图找出查找特定属性的最佳方法时,我通常会参考这个 css selectors。
基本上,细分是找到您想要的标签,在我们的例子中我们想要 button,然后我们想要在该标签中找到属性。所以我们可以选择 value 或 name。两个按钮的名称相同,因此我们不想使用它。但是每个按钮的值是不同的,所以在这种情况下使用会很好。
element(by.ccs('tag[attribute=""]');
标签=按钮
属性=值
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
添加到现有答案。
您可以使用以下 CSS 选择器解决它:
element(by.css("#partSelection button[value=0]")).click();
或者,使用 by.xpath()
定位器:
element(by.xpath("//div[@id='partSelection']/button[@value='0']")).click();
请注意,如果您要经常使用 "by value" 技术,为了遵循 DRY 原则, 定义自定义 by.value()
定位器可能是个好主意:
- How to globally add a custom locator to Protractor?
我正在点击模式 window,这非常简单。一般来说,唯一相关的部分是:
<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();
但我注意到每个按钮都有不同的值,我相信这是开发人员不会改变的。有没有办法根据值单击元素?
感谢您的指教。
如果您只想查找特定属性,则此示例应该有效。当我试图找出查找特定属性的最佳方法时,我通常会参考这个 css selectors。
基本上,细分是找到您想要的标签,在我们的例子中我们想要 button,然后我们想要在该标签中找到属性。所以我们可以选择 value 或 name。两个按钮的名称相同,因此我们不想使用它。但是每个按钮的值是不同的,所以在这种情况下使用会很好。
element(by.ccs('tag[attribute=""]');
标签=按钮
属性=值
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
添加到现有答案。
您可以使用以下 CSS 选择器解决它:
element(by.css("#partSelection button[value=0]")).click();
或者,使用 by.xpath()
定位器:
element(by.xpath("//div[@id='partSelection']/button[@value='0']")).click();
请注意,如果您要经常使用 "by value" 技术,为了遵循 DRY 原则, 定义自定义 by.value()
定位器可能是个好主意:
- How to globally add a custom locator to Protractor?