包含 2 个或更多“OR”条件的 XPath 不起作用?

nic*_*ick 2 html xml anchor xpath web-testing

有一个锚标记,用户可以更改其值。现在,我想编写一个 Xpath 查询,在一个语句本身中搜索多个链接文本名称。

<a href="#login" class="fancybox" xpath="1">Signin</a>
Run Code Online (Sandbox Code Playgroud)

现在,可以通过用户配置文件更改链接文本值。例如,“登录”、“登录”、“单击此处登录”或“立即登录”

如果我写 xpath:-

//a[contains(text(),'Login') or contains(text(),'Log-in') or contains(text(),'Login now') or contains(text(),'click here to Login')]
Run Code Online (Sandbox Code Playgroud)

然后它失败了。我需要使用 Selenium 单击此元素。

请帮忙。

kjh*_*hes 5

重要笔记:

XPath 1.0

如果您确定没有空格变化:

//a[.='Login' or .='Log-in' or .='Click here to login' or .='Login now']
Run Code Online (Sandbox Code Playgroud)

除此以外:

//a[   normalize-space()='Login" 
    or normalize-space()='Log-in' 
    or normalize-space()='Click here to login' 
    or normalize-space()='Login now']
Run Code Online (Sandbox Code Playgroud)

XPath 2.0

//a[normalize-space()=('Login','Log-in','Click here to login','Login now')]
Run Code Online (Sandbox Code Playgroud)