账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python 中的selenium 加cookie 报错
    49
    0
    from selenium import  webdriver
    
    option = webdriver.ChromeOptions()
    option.add_argument('--start-maximized')  # 最大化
    option.add_argument('--headless')  # 无界面
    driver = webdriver.Chrome(chrome_options=option)
    cookie = {}
    
    cookies = 'zg_did=%7B%22did%22%3A%20%221638da685ff8d-0f51b2a0e616b4-4446062d-100200-1638da686001b4%22%7D; UM_distinctid=1638da6869c1ff-091ef411638c34-4446062d-100200-1638da686bd388; _uab_collina=152708989125868625311999; _umdata=BA335E4DD2FD504FAD5C66AE3D1DE79C3C52D36FC51589034C65468A14DB7240C207DEBA74760776CD43AD3E795C914CC7CA9E956ECE73C084D33288E55230E2; PHPSESSID=fr08prddt7p9sj5gbglo5cf1u4; acw_tc=AQAAAB6lll13bAgAzB38ckPCGVASetgi; hasShow=1; CNZZDATA1254842228=1675860325-1527086207-https%253A%252F%252Fwww.baidu.com%252F%7C1528906274; zg_de1d1a35bfa24ce29bbf2c7eb17e6c4f=%7B%22sid%22%3A%201528906426817%2C%22updated%22%3A%201528907862710%2C%22info%22%3A%201528899684702%2C%22superProperty%22%3A%20%22%7B%7D%22%2C%22platform%22%3A%20%22%7B%7D%22%2C%22utm%22%3A%20%22%7B%7D%22%2C%22referrerDomain%22%3A%20%22www.baidu.com%22%7D; Hm_lvt_3456bee468c83cc63fb5147f119f1075=1528904017,1528906427,1528906440,1528907863; Hm_lpvt_3456bee468c83cc63fb5147f119f1075=1528907863'
    
    for line in cookies.split(';'):
        key,value = line.split('=', 1) #1代表只分一次,得到两个数据
        cookie[key] = value
    print (cookie)
    
    driver.get("https://www.qichacha.com/")
    driver.add_cookie(cookie)
    driver.find_element_by_id("searchkey").send_keys("baidu")
    driver.find_element_by_id("V3_Search_bt").click()
    print(driver.page_source)
    
    
    
      Traceback (most recent call last):
      File "headless.py", line 17, in <module>
        driver.add_cookie(cookie)
      File "/usr/lib/python3.4/site-packages/selenium/webdriver/remote/webdriver.py", line 874, in add_cookie
        self.execute(Command.ADD_COOKIE, {'cookie': cookie_dict})
      File "/usr/lib/python3.4/site-packages/selenium/webdriver/remote/webdriver.py", line 314, in execute
        self.error_handler.check_response(response)
      File "/usr/lib/python3.4/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.WebDriverException: Message: invalid argument: missing 'name'
      (Session info: headless chrome=66.0.3359.181)
      (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Linux 3.10.0-514.26.2.el7.x86_64 x86_64)
    
    
    
    
    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 在Python中使用Selenium添加Cookie时,如果出现错误,可能是以下几种情况:

      1. Cookie的格式不正确。Selenium要求Cookie必须是字典类型,且包含名称(name)、值(value),可能还需要domain(域名)、path(路径)、expiry(过期时间)等属性。例如:

      python cookie = { 'name': 'cookie_name', 'value': 'cookie_value', 'domain': '.example.com', # 注意:这里可能需要根据你的网站来设定 'path': '/', # 这里也可能需要根据你的网站接口来设定 'expiry': 1640990400, # Unix时间戳表示的过期时间 } driver.add_cookie(cookie)

      1. 在尝试添加Cookie之前,没有正确初始化并导航到对应的网页。Selenium添加的Cookie是针对特定域和路径的,所以在设置Cookie前,需要确保浏览器已经加载了相关的网页。

      ```python from selenium import webdriver

      driver = webdriver.Chrome() driver.get('http://www.example.com') # 先访问目标网站 driver.add_cookie(cookie) ```

      1. Cookie的domain或path设置不正确。请确保这些值与你试图访问的页面相匹配。

      2. 如果Cookie是从服务器获取的,并且包含了额外的字段(如HttpOnly或Secure),也需要注意正确处理这些字段。然而,Selenium目前并不支持设置这些字段。

      如果以上信息还不能解决你的问题,请提供具体的错误信息以便更准确地定位问题。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部