我需要为此创建打字稿/ javascript量角器代码的帮助吗?用于网络自动化
这是网站代码:
<select class="form-control mainpage1" ng-options="infomation details opt1" ng-model="listVM.selectedInfo" ng-change="listVM.selectedInfoChanged()" ng-disabled="!listVM.finishLoad" style="">
<option label="dLicense Status" value="object:1002" selected="selected">License Status</option>
<option label="dLicense Category" value="object:1003">License Category</option>
<option label="ExpiryDate" value="object:1004">Expiry Date</option>
<option label="DOB" value="object:1005">Birthday</option>
<option label="License Number" value="object:1006">License Number</option>
<option label="Nationality" value="object:1007">Nationality</option>
<option label="Weight" value="object:1008">Weight</option>
<option label="Height" value="object:1009">Height</option></select>
我需要单击一个option1,然后在选择option1之后,再次选择并单击option2,依此类推。
我尝试了以下代码:
browser.actions().mouseMove(element(by.cssContainingText('[value="object:1003"]','License Status'))).click().perform()
browser.actions().mouseMove(element(by.cssContainingText('[value="object:1004"]','License Category'))).click().perform()
发生错误:
Failed: No element found using locator: by.cssContainingText("[value="object:1003"]", "License Status")
答案 0 :(得分:0)
使用css和tagName而不是xpath更新。
我尚未对此进行测试,但是您应该能够通过在该下拉列表中创建一个包含所有选项元素的数组,然后在其上运行foreach来选择每个选项。
element(by.css('.form-control mainpage1'))
.all(by.tagName('option'))
.forEach((option) => {
option.click();
});
答案 1 :(得分:0)
玩具尝试过吗?:
首先单击下拉列表,以便显示选项:
var dropdown = element(by.model('listVM.selectedInfo');
dropdown.click();
element(by.cssContainingText('option', 'License Status')).click();
element(by.cssContainingText('option', 'License Category')).click();
当然,您每次都必须单击下拉列表,以便显示列表。
希望有帮助。 干杯。