Selenium webdriver 在量角器中获取所选选项文本
我试图获取select的选定文本,并在expect中比较该值。我有以下代码:Selenium webdriver 在量角器中获取所选选项文本,selenium-webdriver,jasmine,protractor,Selenium Webdriver,Jasmine,Protractor,我试图获取select的选定文本,并在expect中比较该值。我有以下代码: expect<any>(select_seller.getText()).toEqual('SELLER 1') 我所尝试的: 选择\u seller.getAttribute'text',结果未定义 选择_seller.getAttribute'value',结果是:预期'1:Object'等于'seller 1' 编辑: select的html代码为: <select id="field_sel
expect<any>(select_seller.getText()).toEqual('SELLER 1')
我所尝试的:
选择\u seller.getAttribute'text',结果未定义
选择_seller.getAttribute'value',结果是:预期'1:Object'等于'seller 1'
编辑:
select的html代码为:
<select id="field_seller" [(ngModel)]="o.seller">
<option [ngValue]="sellerOption" *ngFor="let sellerOption of sellers">
{{sellerOption.name}}
</option>
</select>
有人对此有想法吗?非常感谢 这可能不正确,因为我还没有测试过,但您可以执行以下操作
function getSelectedText(select) {
return select.getAttribute('value')
.then(function (i) {
return select.element(by.css('option[value="' + i + '"]')).getText();
});
}
getSelectedText(element(by.id('select_id'))).then(...)
或者更简单的方法:
function getSelectedText(select) {
return select.element(by.css('option:checked')).getText();
}
getSelectedText(element(<locator of select>)).then(...)
这可能是不正确的,因为我还没有测试过,但是你可以做类似的事情
function getSelectedText(select) {
return select.getAttribute('value')
.then(function (i) {
return select.element(by.css('option[value="' + i + '"]')).getText();
});
}
getSelectedText(element(by.id('select_id'))).then(...)
或者更简单的方法:
function getSelectedText(select) {
return select.element(by.css('option:checked')).getText();
}
getSelectedText(element(<locator of select>)).then(...)
你能添加相关的HTML吗also@demouser123补充。非常感谢您的建议您使用什么选择器来选择卖家?@demouser123 css选择器:selectfield\u卖家,这应该不是问题,因为元素被正确地找到了,但没有找到所选的文本值。您可以添加相关的HTML吗also@demouser123补充。非常感谢您的建议您使用什么选择器来选择卖家?@demouser123 css selector:selectfield\u seller,这应该不是问题,因为元素被正确地找到了,而不是所选的文本值。我不得不稍微修改一下它!但是这个办法行得通,谢谢!很高兴它有帮助。我不得不稍微修改一下它!但是这个办法行得通,谢谢!很高兴这有帮助。