Selenium webdriver 量角器-如何获取<;a>;已单击的标记

Selenium webdriver 量角器-如何获取<;a>;已单击的标记,selenium-webdriver,protractor,e2e-testing,Selenium Webdriver,Protractor,E2e Testing,换句话说,我刚刚成功地选择了一个下拉选项;但是,我现在要断言,text选项是期望值 请注意,我已使用elementSwitcher.element(by.linkText(option)),选择了下拉选项值。单击下面的() this.selectDropdown=函数(名称、选项、唯一ID){ var elem=元素(by.id(uniqueId)); var elementSwitcher=elem.element(by.css(“div[uib dropdown]”); elementSw

换句话说,我刚刚成功地选择了一个下拉选项;但是,我现在要断言,
text
选项是期望值

请注意,我已使用
elementSwitcher.element(by.linkText(option)),选择了下拉选项值。单击下面的()

this.selectDropdown=函数(名称、选项、唯一ID){
var elem=元素(by.id(uniqueId));
var elementSwitcher=elem.element(by.css(“div[uib dropdown]”);
elementSwitcher.element(by.css(“按钮[uib下拉切换]”))。单击();
elementSwitcher.element(by.linkText(option))。单击(),然后单击(函数(){
var el=elementSwitcher.element(按.tagName('a')).getText();
console.log('***刚刚单击.el text=',el);
});               

};您在控制台上看到的是承诺的字符串表示形式-
getText()
返回承诺。如果要查看实际链接文本值,请解决以下问题:

此外,如果出现“stale element reference”或“element not found”错误,则可能需要在实际单击链接之前获取文本


或者,为什么不这样做-通过链接文本找到链接,获取文本并单击它:

var link = elementSwitcher.element(by.linkText(option));
link.getText().then(function (linkText) {
    console.log(linkText);
    link.click();
});

正确的。我忘了解决getText()承诺。让我试试您更新的方法,因为
linkText
param没有打印到控制台。它只是说,
***刚刚点击。el text=
。在我的方法中,
by.tagName('a')
返回了不止一个元素。经过一些尝试和错误,我用你的第二种方法,
link.getText()。然后,
@bob.mazzo phew,我一直在等你用它来实现:)问题的当前状态是什么?谢谢。我之前已经发表过评论,正等着回音,但不知怎么的,我努力通过它,并设法使它工作。非常感谢。:-)
var link = elementSwitcher.element(by.linkText(option));
link.getText().then(function (linkText) {
    console.log(linkText);
    link.click();
});