selenium 如何通过占位符值的一部分找到元素?

eyh26e7m  于 2023-01-02  发布在  其他
关注(0)|答案(2)|浏览(137)

有没有办法通过占位符值的一部分来查找元素?理想情况下,不区分大小写。
第一个月
按以下功能搜索无效
browser.find_element(by=By.XPATH, value="//input[@placeholder='some te']")

0ve6wy6x

0ve6wy6x1#

您始终可以使用contains代替equals,如下所示:

browser.find_element(By.XPATH, "//input[contains(@placeholder,'some te')]")

要使其不区分大小写,可以使用translate函数,如下所示:

browser.find_element(By.XPATH, "//input/@placeholder[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'some te')]")

不区分大小写的contains Xpath取自this question

k5hmc34c

k5hmc34c2#

@Prophet的答案很好,但我想添加CSS大小写,因为它可能会有帮助。您可以使用^=搜索以某个关键字开头的属性,使用$=搜索以某个keywrd开头的属性,使用~=搜索包含关键字的属性。

browser.find_element(By.CSS_SELECTOR, "input[placeholder~='some te"])

可以通过添加ibefore closing the bracket使其不区分大小写

browser.find_element(By.CSS_SELECTOR, "input[placeholder~='some te" i])

相关问题