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)')
对于我的一项测试,我正在尝试 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)')