私は、Pythonを使用してセレンに基づいて自動化スクリプトを実行しようとしています。selenium.common.exceptions.WebDriverException:メッセージ:Selenium Pythonで終了する
スクリプトを実行しようとすると、以下のエラーが表示されます。driver.quitで問題が発生しているようですが、driver.quitはInternet Explorerでは正常に動作しますが、Firefoxではエラーが発生しています。私はこのエラーを探しましたが、この質問を作成する多くの結果が出ていませんでした。以下のスクリプトは時々動作するようですが、通常は失敗します。エラーメッセージは、なぜこれが起こっているかについて多くのアイデアを与えないので、誰かが私を助けてくれるのであれば、私は感謝します。
システム詳細:
Python version = 3.6.2
Firefox version = 53 32-bit
Selenium = 3.4.3
Geckodriver = 0.18.0 32-bit
コードブロック:
os.environ['PATH']=r'P:\imran-TEMS\selenium-3.4.3'
user_id=getpass.getuser()
location = "C:\\Users\\" + user_id + "\\AppData\\Local\\Mozilla Firefox\\firefox.exe"
binary = FirefoxBinary(location)
profile = webdriver.FirefoxProfile()
profile.set_preference('network.proxy.type', 1)
profile.set_preference('network.proxy',"proxy1")
profile.set_preference('network.proxy.ftp',"proxy1")
profile.set_preference('network.proxy.ssl',"proxy1")
profile.set_preference('network.proxy.socks',"proxy1")
profile.set_preference('network.proxy.http_port',8080)
profile.set_preference('network.proxy.ftp_port',8080)
profile.set_preference('network.proxy.ssl_port',8080)
profile.set_preference('network.proxy.socks_port',8080)
profile.update_preferences()
driver = webdriver.Firefox(firefox_profile=profile,firefox_binary=binary)
driver.get(link) # I have not mentioned link due to client privacy
link1= WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "access-number")))
link1.click()
link1.send_keys('14188768')
link1= WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID,'securityNumber')))
link1.click()
link1.send_keys('2468')
link1= WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID,'internet-password')))
link1.click()
link1.send_keys('test12')
sleep(1)
link1.send_keys(Keys.RETURN)
sleep(2)
link2=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH,"id('header')/div[1]/p[1]/a[1]/span[1]")))
link2.click()
driver.quit()
エラースタックトレース:
Traceback (most recent call last):
File "P:\imran-TEMS\script\test.py", line 54, in <module>
driver.quit()
File "C:\Users\l096535\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium-3.4.3-py3.6.egg\selenium\webdriver\firefox\webdriver.py", line 181, in quit
RemoteWebDriver.quit(self)
File "C:\Users\l096535\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium-3.4.3-py3.6.egg\selenium\webdriver\remote\webdriver.py", line 551, in quit
self.execute(Command.QUIT)
File "C:\Users\l096535\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium-3.4.3-py3.6.egg\selenium\webdriver\remote\webdriver.py", line 256, in execute
self.error_handler.check_response(response)
File "C:\Users\l096535\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium-3.4.3-py3.6.egg\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: quit
トレースバックは別のコードブロックでフォーマットする必要があります。 – tambre
Seleniumをv3.5.0にバンプすることを検討してください – DebanjanB