我正在使用Selenium尝试获取所有以"按钮开头的ID元素 - "。到目前为止我所尝试的是使用正则表达式匹配"按钮 - "但我收到一条错误,指出TypeError: Object of type 'SRE_Pattern' is not JSON serializable
。到目前为止我的代码是:
all_btns = self.driver.find_elements_by_id(re.compile('^button-?'))
但如上所述,会引发错误。当你不知道完整的ID,类,css选择器等时,获取所有元素的适当方法是什么?
答案 0 :(得分:1)
您可以使用find_element_by_xpath
和starts-with
:
find_elements_by_xpath('//*[starts-with(@id, "button-")]')
//*
将匹配任何元素[starts-with(@id, "button-")]
将使用以id
button-
过滤元素
答案 1 :(得分:0)
Clément的答案很好,但是还有一种方法可以使用css选择器:
<table>
<thead>
<tr>
<th>{this.props.th1}</th>
<th>{this.props.th2}</th>
<th>{this.props.th3}</th>
</tr>
</thead>
{this.props.children}
</table>
*[id^='button'].
匹配所有代码,就像在xpath中一样,*
表示'以'开头'