ヘッドレスモードのクロムブラウザでテストスクリプトを実行すると、要素リンクが表示されないため、linkElement.click()
を実行できません。ヘッドモードですべてOKです。他の情報はすべてstacktraceにあります。 誰でも何をすべきか知っていますか?Headless Chromeブラウザを使用している場合、ElementNotVisibleExceptionが発生する
のStackTrace:
エラーが発生しました:メッセージ:要素見えない
(セッション情報:ヘッドレスクロム= 60.0.3112.90)
(ドライバ情報:chromedriver = 2.31.488763(092de99f48a300323ecf8c2a4e2e7cab51de5ba8)、プラットフォーム= Windows NT 6.1.7601 SP1 x86_64で)
トレースバック(最新の呼び出しの最後):
ファイル "C:\ nik-x.py"、メイン
FUNC(NIKでライン148、)
ファイル「C:\ lib \ support。 PY」、ラッパーにライン121、
上げRET
ファイル "C:\ LIB \ support.py"、ライン108、newFunc
で RES [0] =のFUNC(*引数、** kwargsから)
ファイルテストケース内の "C:¥testcases¥nik-1003.py"、行37、
i.click()
ファイル "C:¥Python36¥lib¥site-packages¥selenium¥webdriver¥remote¥webelement.py" 、クリックで行7
7、
self._execute(Command.CLICK_ELEMENT)
ファイル "C:\ Python36 \ libには\サイト - パッケージ\セレン\ webdriverをリモートの\ webelement.py \"、ライン4
93、_EXECUTEで
リターンself._parent.execute(コマンド、のparams)
ファイル "C:\ Python36 \ libに\のsite-packages \セレン\ webdriverをリモートの\ webdriver.py \"、行25
6、 ":\ webdriverをリモートの\ errorhandler.py \ \ Python36 \ libには\サイト - パッケージ\セレンC" check_response
レイズexception_classで、ライン
194、(中には
self.error_handler.check_response(レスポンス)
ファイルを実行しますメッセージ、画面、スタックトレース)
selenium.common.exceptions.ElementNotVisibleException:メッセージ:要素が表示されない
(セッション情報:ヘッドレスクローム= 60.0.3112.90)
(ドライバー情報:chromedriver = 2.31.488763(092de99f48a300323ecf8c2a4e2e7cab51de5ba8)、プラットフォーム=のWindows NT 6.1.7601 SP1 x86_64で)
ここでは、コードの私の作品です。テストページから
icons = nik.elementLeftmenuSportIcons() for i in icons[:-1]: try: i.click()
HTML:<a href="#" class="default b_futbal gaPageEventElement" data-ga-cat="Sporty" data-ga-action="futbal"> <span class="left-menu-only-large-res">Futbal</span> </a>
エラースタックトレースはそれをすべて 'ElementNotVisibleExceptionは言います:要素が表示されるのを待つか、ビューポート内の要素をクリック可能にする必要があります。 – DebanjanB
それはまた、JSのいくつかの実際の違いかもしれません。 JSが属性を変更している可能性があるためです。要素をクリックする代わりに、要素を取得して、すべてのプロパティ、特に座標とすべてを表示します。何か違いがあるのを見てください –
@ DebanjanBありがとう、私はwait(10)、switch_to_frame、ウィンドウなどを追加しようとしましたが、私はまだ同じ問題を抱えています。 – Ghost