osho8920
@osho8920

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

PythonでIEDriverを起動し、getメソッドを実行すると処理が途中で止まる

解決したいこと

PythonでWebアプリのテスト自動化を行いたいと考えています。
WebアプリはIEモードでしか操作できないため、IEDriverを起動し実行していますが、getメソッドを実行中に処理が止まってしまいます。
デバッグで確認したところ、Python公式から提供されているclient.pyの
def _read_status(self)内の、line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")で処理が止まっていることが分かりました(画面を開いた後の処理)。
色々調べてみたものの、解決できる糸口が見つからないため、解決方法をご教示いただきたいです。

該当するソースコード

from selenium import webdriver

class LoginTest(object):

    def setup(self):

        # Microsoft Edgeに追加のプロパティを使用し、InternetExplorerOptionsを定義
        ie_options = webdriver.IeOptions() 
        ie_options.attach_to_edge_chrome = True
        ie_options.edge_executable_path = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"

        # IEDriverの起動し、画面サイズを最大にする
        self.driver = webdriver.Ie(options=ie_options) 
        self.driver.maximize_window()

    def open_login(self):
        # ログイン画面を表示する
        self.driver.get('WebアプリのURL')

バージョン情報

Windows11
Python:3.9.13(3.8.0も試しました)
IEDriverServer:4.14.0

以上、お知恵を拝借させていただきたく、よろしくお願いいたします。

0

1Answer

動作を確認してみました。
どのようなwebアプリか分からないのでエラーは再現できませんでした。
完全な考察になりますが、二つ記載したいと思います。

  • サーバではなくファイルを指定している。
    • .htmlの拡張子だったとしてもlocalhostなどで起動しないと接続できません。
  • 必須のJavascriptの処理を挟んでいる。
    • 簡単に確認したところ、IEモードではJavascriptが実行されないようです。

エラーの全文やwebアプリについてなど、もう少し詳しく教えていただけると具体的な回答ができるかもしれません。

0Like

Your answer might help someone💌