硒选择元素包含字符串python

时间:2018-11-23 15:59:06

标签: python selenium google-chrome webdriver

我正在尝试从选择项中选择值并进行选择。

但是我需要选择一个包含在innerhtml或value属性中的字符串。

这是我要单击的元素

<option value="01050160181160053049|DEPOSITO|CC|ACTIVOS|105">01050160181160053049 - hhh</option>

我不知道如何使用xpath或类似方法选择它,然后单击它。你能在这里帮我吗?

这是我的代码,单击选择输入时可以工作,但是然后我需要选择包含值或innerhtml上的特定字符串的元素(存在许多不同的选项)。

browser.find_element_by_css_selector('#formContainer > form > table > tbody > tr:nth-child(4) > td.contentA2 > select').click()
browser.find_element_by_xpath('//*[contains(text(),'01050160181160053049')]').click()

它无法使用xpath找到元素。

解决方案:

browser.find_element_by_xpath('//*[@id="formContainer"]/form/table/tbody/tr[4]/td[2]/select/option[contains(@value, "' + cuenta + '")]').click()

1 个答案:

答案 0 :(得分:0)

这会选择所有具有名为“值”的属性的“选项”元素, 也许您可以将它们放在列表中并遍历它们,直到一个或多个符合您的条件

//option[@value]

来源: https://www.w3schools.com/xml/xpath_syntax.asp