找到所有以'按钮开头的元素 - '

时间:2017-11-16 03:59:17

标签: python regex selenium

我正在使用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选择器等时,获取所有元素的适当方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用find_element_by_xpathstarts-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中一样,*表示'以'开头'