自动测试Selenium IEDriverServer程序停止问题

一个简单的自动测试程序,打开百度网页,输入查询字符串,按下‘百度一下’按钮,退出程序。使用Chrome,Firefox浏览器都正常。使用Ie浏览器时,在显示了百度网页后,程序就停止在Get()语句。这是什么原因?


from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By

print('PyCharm')

#driver = webdriver.Firefox()
#driver = webdriver.Chrome()
driver = webdriver.Ie()
driver.get("http://www.baidu.com")
sleep(5)
print('Get PyCharm')
kw = driver.find_element(By.ID, 'kw')
kw.send_keys('PyCharm')
sleep(3)

su = driver.find_element(By.ID, 'su')
su.click()

sleep(5)
driver.quit()
print('PyCharm end')

系统Win7 sp1,IE11。 三个webdriver下载最新版本,IEDriverServer_x64 3.15。Python3.8, selenium4.0

IEDriverServer的版本号和Selenium的版本号一定要一致,你的IEDriverServer是3.15的,建议下载selenium 3.15的,这是下载地址:


另外注意自己的是32位的还是64位的。如果依然不行的话,需要设置一下IE,如下图:
针对windows vista和windows 7上的IE7或者更高的版本,必须在IE选项设置的安全页中,4个区域的启用保护模式的勾选都去掉(或都勾上),即保持四个区域的保护模式是一致的。

img

img


还需要修改一下注册表:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE

img

如果有帮助,请采纳,多谢!