Element with locator ‘***’ not found.

robotframework
本ページはプロモーションが含まれています

エラーメッセージ

robotframeworkでseleniumを使っていた時に出たエラーです。
Element with locator ‘name:q’ not found.

‘name:q’の部分は内容によって異なります。

エラーメッセージの原因

SeleniumでWeb上の要素をとってくるにはElementを指定する必要があります。
エレメントはChromeならF12ボタンを押して確認する事ができます。

そしてこのエラーが表示される原因は指定したElement (要素)がないからです

確認用サンプルプログラム

簡単なプログラムで確認します。
YahooJapanの画面で見てみます。

サンプルプログラムではYahooのサイトの検索ボックスにテキストを入力して検索するというものです(エラーがでます)

*** Settings ***
Library	SeleniumLibrary

*** Variables ***
${BROWSER}	chrome

*** Keywords ***
ブラウザオープン
	[Arguments]	${url}
	Open Browser	${url}	${BROWSER}

キーワード検索
	[Arguments]	${target_word}
	# テキストボックスにキーワードを入力する
	Input Text	name:q	${target_word}
	Press Keys	name:q	RETURN

*** Test Cases ***
Yahoo Japanを開く
	ブラウザオープン	https://www.yahoo.co.jp/

Yahoo Japanで検索
	キーワード検索	robotframework
	BuiltIn.Sleep	5

これを実行すると、

==============================================================================
Connect To Yahoo                                                              
==============================================================================
Googleを開く                                                          | PASS |
------------------------------------------------------------------------------
Googleで検索                                                          | FAIL |
Element with locator 'name:q' not found.
------------------------------------------------------------------------------
Connect To Yahoo                                                     | FAIL |
2 tests, 1 passed, 1 failed
==============================================================================

とエラーが表示されます。
F12で開発者モードにして、矢印で検索ボックスのHTML部分をみてもらうとわかりますが、nameは”p”です。
HTMLの要素の内nameがqのものを探そうとして「そんな名前のElement (要素)はないよと言っているわけです。

上のサンプルプログラムの「name:q」を「name:p」にすれば問題なく動くようになります。

エラー自体そんなに難しくはないと思いますが、初めて使う人などには役にたったかと思います。
お役にたったなら嬉しいです。

 

 

タイトルとURLをコピーしました