web-dev-qa-db-ja.com

PythonおよびSeleniumを使用してテキストでボタンをクリックします

Selenium を使用して同じテキストの複数のボタンをクリックすることはできますか?

Text = Unlock this result here

11
user5936345

すべてのボタンをテキストで検索し、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を備えています。

15
kchomski

私はhtmlで次のようにした:

driver.find_element_by_xpath('//button[contains(text(), "HELLO")]').click()
4
Nisheeth

@nobodyskiddy、driver.find_elementを使用してみてください(単一ボタンオプションがある場合)、driver.find_elementsを使用している場合は、indexを使用してclick()を実行します。find_elementsは配列をwebelement値に返すため、インデックスを使用して選択またはクリックする必要があります。

1