30

同じページに [キャンセル] ボタンと [次へ] ボタンの 2 つのボタンがありますが、ID は 1 つしかありません (以下のコードを参照)。[次へ] を押したかったのですが、[次へ] ボタンではなく、キャンセル ボタンのみを識別するたびに。この問題を解決するにはどうすればよいですか?

<td align="center">
     <input type="button" id="cancelButton" value="Cancel" title="cancel" class="Submit_Button" style="background-color: rgb(0, 0, 160);">
     <input type="submit" value="Next" title="next" class="Submit_Button">
</td>
4

7 に答える 7

23

id の代わりにxpathセレクター (クイックチュートリアルはこちら)を使用します。

#python:
from selenium.webdriver import Firefox

YOUR_PAGE_URL = 'http://mypage.com/'
NEXT_BUTTON_XPATH = '//input[@type="submit" and @title="next"]'

browser = Firefox()
browser.get(YOUR_PAGE_URL)

button = browser.find_element_by_xpath(NEXT_BUTTON_XPATH)
button.click()

または、「普通の」Selenium を使用する場合は、ボタン ID の代わりに同じ xpath セレクターを使用します。

NEXT_BUTTON_XPATH = '//input[@type="submit" and @title="next"]'
selenium.click(NEXT_BUTTON_XPATH)
于 2012-01-16T07:38:07.010 に答える
20

Selenium IDE では、次のことができます。

コマンド | クリックして待機
ターゲット | //input[@value='Next' and @title='next']

それはうまくいくはずです。

于 2012-01-16T13:15:41.603 に答える
2

[次へ] ボタンには、以下のように xpath または cssSelector を使用できます。

[次へ] ボタンの xpath: //input[@value='Next']

[次へ] ボタンの cssPath: input[value=Next]

于 2013-01-16T04:52:52.003 に答える
1

要素ロケーターとして識別子のみを使用する必要はありません。要素を見つけるには、いくつかの方法を使用できます。この記事を読んで、あなたに最適なものを選択してください。

于 2012-01-16T08:14:53.900 に答える
0

その要素を識別するために xpath を使用できます。

于 2012-01-16T11:33:15.707 に答える