如何通过属性值查找包含特定文本的元素?

How do I find an element by attribute value that contains certain text?

<input name="submit.action.randomtext" value="Submit" type="submit" class="a-color">

我要select这个输入元素。但是没有唯一标识,页面是动态生成的。名称属性具有随机值,但值的第一部分为“submit.action”。总是一样的。我如何通过包含“submit.action”的值select它

您可以使用这个 XPath

//input[contains(@name,'submit.action')]

以及

//input[@value='Submit']

它看起来也很独特。
同理

//input[@type='submit']

所有这些也可以用 css_selectors 完成。
回到你原来的问题,语法是

//tag_name[contains(@attribute_name,'partial_value')]

CSS 选择器的相同 contains 将是:

input[name*='submit.action']

虽然一般语法是

tag_name[attribute_name*='partial_value']

首先,这里有一些您可能感兴趣的 official 文档。

input[contains(@name,'submit.action')]

此外,我相信有人问了一个类似的问题 here 可以帮助您解决问题