すべて、私はPythonでコードを書く方法の深刻な「愚かな」例を必要としています。いない。私はプログラミングの新人です。私は1日分の記事を見直したので、わかりません。Selenium in Python要素が存在しない場合、If-elseコードを使用する方法
ここに私がしようとしていることがあります。
だから、from selenium.common.exceptions import NoSuchElementException, staleElementReferenceException
elem = driver.find_element_by_partial_link_text('Create Activity')
print("Searching for Create Activity.")
if elem.is_displayed():
elem.click() # this will click the element if it is there
print("FOUND THE LINK CREATE ACTIVITY! and Clicked it!")
else:
print ("NO LINK FOUND")
、私は アクティビティを作成するために検索しています...適切な応答を取得します(「アクティビティを作成」)element_by_partial_link_textされるLINKの存在があることを
を提供します。 リンクを作成するとアクティビティが作成されます。クリックしてください!
私の問題はelement_by_partial_link_text('Create Activity')
にマッチしたリンクがない場合、私はそれが私elseステートメントである期待するものを得ることはありませんです。 print ("NO LINK FOUND")
私が手...
トレースバック(最後の最新の呼び出し): ファイル ""、1行目、 ファイルで「C:\プログラムファイル(x86の)\ Python35-32 \ ( "= By.PARTIAL_LINK_TEXT、value = link_text) ファイル" C:\ Program Files(x86)\ libディレクトリの場所を指定してください。 Python 35-32 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py "、行745、find_element {'使用': '値':値})['値'] 実行ファイル self.error_handler.check_response(応答) ファイル "C:¥Program Files(x86)¥Python35-32¥lib¥site-packages¥selenium¥webdriver¥remote¥webdriver.py" check_responseのC:¥Program Files(x86)¥Python35-32¥lib¥site-packages¥selenium¥webdriver¥remote¥errorhandler.py "、194行目、 例外クラスを上げる(メッセージ、画面、スタックトレース) selenium.common。 exceptions.NoSuchElementException:メッセージ:いいえ、そのような要素:要素が見つかりません:{「メソッド」:「部分リンクテキスト」、「セレクタ」:「アクティビティを作成します」}私はオンに
Python
内セレンを取得するにはどうすればよい
この例外またはエラーは私のスクリプトを停止せずにただ処理しますELSE
ステートメント。
おかげで、
'try'と' except'文を使用できますか? – DavidG
おそらく、 'driver.find_element_by_partial_link_text( 'アクティビティの作成')は' None'を返し、 'elem.is_displayed()'は 'NoSuchElementException'をスローします。 'if elem:'と 'if elem.is_displayed()'または 'try-except'ブロックのような多くのことがあります。 –
' find_elements'を使用して要素のサイズをチェックする最良の方法例外キャッシュ、提供された回答を参照してください... :) –