2017-11-16 15 views
0

「button-」で始まるすべてのID要素を取得するためにSeleniumを使用しています。これまで私が試したことは正規表現を "button-"とマッチさせることでしたが、それはTypeError: Object of type 'SRE_Pattern' is not JSON serializableというエラーが出ます。これまでのコードは'button-'で始まるすべての要素を見つける

all_btns = self.driver.find_elements_by_id(re.compile('^button-?')) 

ですが、エラーが発生します。完全なID、クラス、cssセレクタなどがわからないときに、すべての要素を取得する適切な方法は何ですか?

答えて

1

あなたはfind_element_by_xpathstarts-withを使用することができます。

find_elements_by_xpath('//*[starts-with(@id, "button-")]') 
  • //*button-
+0

'で始まるちょうどXPathの中や^=手段などの

*[id^='button']. 

*試合すべてのタグは、働いていたこと、ありがとうございます。私は 'find_elements_by_xpath'を使用していることを除いて、私はそれらをすべて望みます。私はXPathの使用を検討する必要があります、このようなものを扱う際には、ほとんどの場合、より良いオプションと思われます。 – kstullich

+0

あなたは歓迎です、私は 'find_element_by_xpath'の代わりに' find_elements_by_xpath'を使って答えを編集しました。 –

0

クレマンの答えの作品で始まるプロパティidで要素をフィルタ処理する任意の要素

  • [starts-with(@id, "button-")]と一致しますちょうど良いですが、またありますCSSセレクタでこれを行う方法:

  • 関連する問題