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

时间:2021-08-01 21:30:02

标签: python html selenium selenium-webdriver selenium-chromedriver

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

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

2 个答案:

答案 0 :(得分:0)

你可以使用这个 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']

答案 1 :(得分:0)

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

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

另外,我相信有人问过一个类似的问题 here 可以帮助你