GeckoDriverはタイムアウト例外発生後も読み込みをやめない

読み込み時間が長くかかるページに

<?php sleep(10) ?>

読み込み最大待機時間を設定したウェブドライバでアクセスすると

import os
import signal

from selenium import webdriver

driver = webdriver.Chrome() #Chrome
#driver = webdriver.Firefox() #Firefox
driver.set_page_load_timeout(3) #読み込み最大待機時間

try:
    driver.get('http://example.com/') #実際は上のページ
except:
    pass

os.kill(driver.service.process.pid, signal.SIGTERM)

待機時間超過でタイムアウト例外が発生し

次の処理に移る。

例外処理に読み込み中止の命令を追加すればFirefoxも同じ挙動になる。

driver.execute_script('window.stop()')

環境