Selenium を使用して同じテキストの複数のボタンをクリックすることはできますか?
すべてのボタンをテキストで検索し、for
ループ内の各ボタンに対してclick()
メソッドを実行できます。
これを使用すると、SO answer のようになります。
buttons = driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")
for btn in buttons:
btn.click()
Seleniumの素敵なラッパーである Splinter もご覧になることをお勧めします。
Splinterは、Selenium、PhantomJS、zope.testbrowserなどの既存のブラウザー自動化ツールの上にある抽象化レイヤーです。 Webアプリケーションの自動テストを簡単に作成できる高レベルのAPIを備えています。
私はhtmlで次のようにした:
driver.find_element_by_xpath('//button[contains(text(), "HELLO")]').click()
@nobodyskiddy、driver.find_elementを使用してみてください(単一ボタンオプションがある場合)、driver.find_elementsを使用している場合は、indexを使用してclick()を実行します。find_elementsは配列をwebelement値に返すため、インデックスを使用して選択またはクリックする必要があります。