0

分度器で、リンクテキストが次の方法で構成されていることを主張したいと思います: text-1 (ここで、テキストは変数であり、数値は任意の数字で構成できます)。

私は次のことを試しました:

browser.wait(
        ExpectedConditions.visibilityOf(
        element(by.xpath(`//a[@class = 'collapsed' and starts-with(text(), '${text}') and ends-with(text(), '-(/d+)')]`))),
 5000)

browser.wait(
        ExpectedConditions.visibilityOf(
        element(by.xpath(`//a[@class = 'collapsed' and starts-with(text(), '${text}') and ends-with(text(), '/^-(/d+)$/')]`))),
        5000)

残念ながら、上記の xpath はどれも機能しませんでした。

どうすればこれを修正できますか?

4

2 に答える 2

0

これには正規表現を使用できます。

await browser.wait(async () => {
    return new RegExp('^.*(\d+)').test(await $('a.collapsed').getText());
}, 20000, 'Expected link text to contain number at the end');

必要に応じて、この正規表現をここで調整します。

https://regex101.com/r/9d9yaJ/1

于 2020-06-24T12:27:17.110 に答える