量角器 JavaScript 在具有子类别的下拉框中选择值
Protractor JavaScript choose value in dropdown box that has subcategory
我尝试从下拉框中选择不同的值,但我的下拉框有子类别,因此我无法找到 Web 元素。例如,假设我有以下内容:
dropDownBox-> Bank Account -> account#76789
-> account#99222
-> account#55555
-> Credit Card -> card#1234567
-> card#4444499
-> card#4406699
HTML
<select name="ctl00$main$ddlPaymentAccounts" id="main_ddlPaymentAccounts" class="sel" onchange="javascript:checkPayAcct();" title="Select Payment Account" style="width: 220px!important">
<option value="0">
Select Payment Method
</option><optgroup label="Bank Account">
<option title="Account Holder:My Test | Bank Number:044002161 | Account Type:DA | Account Number************6789" value="OTC_260511" selected="selected">
ChazeBank
</option>
</optgroup><optgroup label="Credit Card">
<option title="Account Holder:My Test | Expiration:0430 | Account Type:VI | Account Number************4499" value="CC_838022">
AmericanExpressCard
</option>
</optgroup>
</select>
我尝试使用 ID 和 XPath 定位元素,但没有成功,因为 Protractor 无法定位网络元素
var dropdownXPath = "//*[@id='main_ddlPaymentAccounts']/optgroup[2]/option[1]";
var webElement = element(by.xpath(dropdownXPath));
browser.wait(EC.elementToBeClickable(webElement), 60000);
webElement.click();
你的xpath是对的,所以没问题。
如果您在此步骤中没有遇到任何错误(即元素存在并被单击),但没有任何反应,请尝试此
我尝试从下拉框中选择不同的值,但我的下拉框有子类别,因此我无法找到 Web 元素。例如,假设我有以下内容:
dropDownBox-> Bank Account -> account#76789
-> account#99222
-> account#55555
-> Credit Card -> card#1234567
-> card#4444499
-> card#4406699
HTML
<select name="ctl00$main$ddlPaymentAccounts" id="main_ddlPaymentAccounts" class="sel" onchange="javascript:checkPayAcct();" title="Select Payment Account" style="width: 220px!important">
<option value="0">
Select Payment Method
</option><optgroup label="Bank Account">
<option title="Account Holder:My Test | Bank Number:044002161 | Account Type:DA | Account Number************6789" value="OTC_260511" selected="selected">
ChazeBank
</option>
</optgroup><optgroup label="Credit Card">
<option title="Account Holder:My Test | Expiration:0430 | Account Type:VI | Account Number************4499" value="CC_838022">
AmericanExpressCard
</option>
</optgroup>
</select>
我尝试使用 ID 和 XPath 定位元素,但没有成功,因为 Protractor 无法定位网络元素
var dropdownXPath = "//*[@id='main_ddlPaymentAccounts']/optgroup[2]/option[1]";
var webElement = element(by.xpath(dropdownXPath));
browser.wait(EC.elementToBeClickable(webElement), 60000);
webElement.click();
你的xpath是对的,所以没问题。
如果您在此步骤中没有遇到任何错误(即元素存在并被单击),但没有任何反应,请尝试此