Selenium Webdriver getting a cookie value

2019-02-16 02:06发布

I am trying to get a cookie value but keep getting an error of <Selenium::WebDriver::Driver:0x13a0e0e8 browser=:firefox>

I am calling

@browser.cookie_named("configsession").each do |cookie|
  puts cookie[:name]

is there something I i'm doing wrong?

3条回答
贼婆χ
2楼-- · 2019-02-16 02:33

This worked for me:

Cookie cookie= driver.manage().getCookieNamed("sitename.session");  
String cookieVal= cookie.getValue();
查看更多
一纸荒年 Trace。
3楼-- · 2019-02-16 02:33
    Set<Cookie> cook =  driver.manage().getCookies();
    for(Cookie cooks : cook) 
    {

    System.out.println(cooks.getName());
    }

    Cookie t = driver.manage().getCookieNamed("_gid");
    if(t!=null){
    String s1 = t.getValue();
    System.out.println("The Cookie value is : " + s1);
               }
查看更多
你好瞎i
4楼-- · 2019-02-16 02:35

The methods for working with cookies are defined in the Selenium::WebDriver::Options - see the API docs.

To access these cookie methods, you need to call the manage method for the driver:

@browser.manage

To get a cookie based on its name, you need to do:

@browser.manage.cookie_named("configsession")

Note that cookie_named returns a single cookie that matches. The cookies values are a hash. Therefore, you can get values of the cookie by doing:

cookie = @browser.manage.cookie_named("configsession")
cookie[:name]
#=> "configsession"

If you want to get the name of all the cookies on the page, use the all_cookies method:

driver.manage.all_cookies.each do |cookie|
    puts cookie[:name]
end
查看更多
登录 后发表回答