Selenium使用ie浏览器为什么不能加载cookie?

以下代码为什么不能将 driver1的cookie加载到driver2里呢?如果我将代码换成谷歌浏览器对象,其他部分一样的代码可以成功,为什么ie浏览器就不行呢?而且driver1和driver2是在一个域名下的。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.ie.options import Options
# from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.action_chains import ActionChains
from selenium.common.exceptions import NoSuchElementException,SessionNotCreatedException

iedriver = "C:\Iedriver\IEDriverServer_Win32_3.141.0.exe"
os.environ["webdriver.ie.driver"]=iedriver
ie_options = Options()
ie_options.ignore_protected_mode_settings = True
caps = DesiredCapabilities.INTERNETEXPLORER.copy()
caps['ignoreProtectedModeSettings'] = True
caps['IntroduceInstabilityByIgnoringProtectedModeSettings'] = True
driver1 = webdriver.Ie(iedriver,options=ie_options, desired_capabilities=caps)
driver1.implicitly_wait(10)    
#电子公文系统登录url
login_url = 'http://10.158.3.30/gwcl/default.aspx'
driver1.get(login_url)
driver1.find_element_by_id('uu').click()
driver1.find_element_by_id('uu').clear()
driver1.find_element_by_id('uu').send_keys('111')
driver1.find_element_by_id('ww').click()
driver1.find_element_by_id('ww').clear()
driver1.find_element_by_id('ww').send_keys('222')
driver1.find_element_by_id('bt_qd').click()
time.sleep(3)
# 获取登陆后的Cookie组成的列表
cookie = driver1.get_cookies()
print(cookie)
# 关闭浏览器
driver1.close()
# 实例化第2个浏览器对象
driver2 = webdriver.Ie(iedriver)
# 添加目标页面链接    
driver2.get('http://10.158.3.30/gwcl/oagwcl.aspx')
for c in cookie:   
    driver2.add_cookie(c)
driver2.get('http://10.158.3.30/gwcl/oagwcl.aspx')
time.sleep(10)

显然ie和chrome不兼容

  • 看下这篇博客,也许你就懂了,链接:解决selenium无法得到全量的cookie问题
  • 除此之外, 这篇博客: 简单易懂为selenium添加cookies中的 2.关于修改cookie的部分代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • browser为浏览器实例

    browser = webdriver.Firefox(executable_path=r"C:\MyProgrames\geckodriver.exe") # 根据实际修改,启动自己的webdriver

    browser.get_cookies() # 获取cookies(注意s),返回一个由多个cookie组成的list。
    browser.add_cookie()  # 添加cookie(注意没有s),传的值是单个cookie,即一个字典
    

    明白前两个你就可以差不多知道怎么添加cookie了