首页 > 解决方案 > 量角器 JavaScript 在具有子类别的下拉框中选择值

问题描述

我尝试从下拉框中选择不同的值,但是我的下拉框有子类别,所以我在定位 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 无法定位 Web 元素

    var dropdownXPath = "//*[@id='main_ddlPaymentAccounts']/optgroup[2]/option[1]";
    var webElement = element(by.xpath(dropdownXPath));
    browser.wait(EC.elementToBeClickable(webElement), 60000);
    webElement.click();

标签: javascriptprotractor

解决方案


你的 xpath 是正确的,所以这不是问题。

如果您在此步骤中没有抛出任何错误(即元素存在并单击),但没有任何反应,请尝试此https://stackoverflow.com/a/66110526/9150146


推荐阅读