2017-06-22 19 views
0

ここで何百万回も質問されていますが、それらを試してみましたが、まだボタンをクリックするPythonコードを取得できません。 <input value="New Quote" class="btn" name="new_quote_wizard" title="New Quote" type="button" onclick="if (window.invokeOnClickJS_00bC0000001TjBl) window.invokeOnClickJS_00bC0000001TjBl(this); else if (parent.window.invokeOnClickJS_00bC0000001TjBl) parent.window.invokeOnClickJS_00bC0000001TjBl(this); return false">Pythonセレンを使用してWebページのJavaScriptボタンをクリックする方法

私はこの試みた:だからここ

は、ボタンの前記検査要素の結果だ

browser.find_element_by_name('New Quote').click() 

を、それは、このエラーを返します。

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [name="New Quote"]

何それ以外の方法でこのボタンをクリックすることはできますか?

+2

* 100万回* ... *私はそれらすべてを試しました* - かなり大胆な声明。 ;-)しかし、 'value'である' New Quote'を検索するのではなく、 'name'である' new_quote_wizard'を検索するべきでしょう。 –

+0

ありがとう@ChristianKönig! Selenium.common.exceptions.NoSuchElementException:メッセージ:要素を見つけることができません:[name = "new_quote_wizard"] また、私はブラウザを試してみました.findElementByXpath( "// input [@ value = 'New Quote'] [@ title = 'New Quote']")。 それはxpathコマンドを認識しないと言われています –

+0

タグはフレームまたはiframeの内側にありますか? –

答えて

1

OK男 - 私はそれがここに別のstackoverflowの質問を通じて取り組んだ:How do I click a button in a form using Selenium and Python 2.7?したがって、基本的

、私は要素を待たなければなりませんでした!

私は自分のコードにこれらの行を追加:すべての助けを

wait = WebDriverWait(browser, 10) newQuote = wait.until(EC.presence_of_element_located((By.NAME, "new_quote_wizard"))) newQuote.click()

感謝を!

3

問題は、値を提供する名前で選択要素にあるように見えます。代わりにこれを試してみてください:

browser.find_element_by_name('new_quote_wizard').click() 
+0

ありがとう@peregrino!しかし、私もそれを試してみたが、同じエラーが発生する:selenium.common.exceptions.NoSuchElementException:メッセージ:要素を見つけることができません:[name = "new_quote_wizard"] –

関連する問題