Selenium/Xpath select 包含文本的选项

Selenium/Xpath select option containing text

对于我的一项测试,我正在尝试 select 包含文本“当前”的选项

select 下拉菜单如下所示:

<select name="lead" class="wide">
<option value="">-- Select a lead --</option>
<option value="5066689">Current Lead: L5066689 (kitchens) Created: '27/08/2021 11:10:53'</option>
<option value="5066671"> L5066671 (kitchens) Created: '27/08/2021 09:56:10'</option></select>

我正在尝试使用这个函数:

const chooseCurrentLeadToSaveAgainst = async () => {
    await pageHelpers.waitForSelectorAndClick(selectors.leadDropdown);
    await logger.logScreenshot();
    await pageHelpers.waitForSelectorAndClick(selectors.currentLead);
};

leadDropdown select或者是:

leadDropdown: 'select.wide',

这有效,测试将单击 select 框将其打开,然后我尝试单击包含文本 'Current' 到 [=29] 的选项=]或当前潜在客户:

 currentLead: 'option[(contains(text(),\'Current\')]',

有了这个selector,但是,它找不到它,也不能点击它,我哪里错了这个selector?

那些反斜杠看起来不太好。最初使用 // 到 select 当前节点,见下文:-

//option[(contains(text(),'Current')]

另外,如果您确信此值不会更改,5066689 尝试使用值属性。

更新:

driver.click('select.wide').click('select.wide option:nth-child(1)')