【问题标题】:Selenium phantomjs webdriver, how do I use sessions?Selenium phantomjs webdriver,如何使用会话?
【发布时间】:2014-07-27 14:56:43
【问题描述】:

我开始phantomjs

IWebDriver driver = new PhantomJSDriver(driverpath);

我执行一系列 selenium 命令来登录网站、提交公司、验证页面等。

登录后,我可以再次启动 webdriver 并再次使用相同的浏览器用户登录会话,这样我就不需要再次登录了吗?我将如何在 selenium 中为 phantomjs 使用会话?

【问题讨论】:

    标签: c# selenium selenium-webdriver phantomjs


    【解决方案1】:

    在普通的 phantomjs 中有一个命令行标志 --cookies-file=/path/to/cookies.txt 可用于持久化会话 cookie 并在下一次调用中使用它。

    .net API 通过PhantomJSDriverService class 提供相同的功能。这取自this answer

    DriverService service = PhantomJSDriverService.CreateDefaultService(driverpath);
    service.CookiesFile = "path/to/cookies.txt";
    IWebDriver driver = new PhantomJSDriver(service);
    

    cookies 会自动保存到这个文件中。

    如果您想获得更多控制权,那么您应该使用driver.ExecuteScript 将来自window.document.cookie 的会话cookie 保存到一个文件中并稍后检索它。

    【讨论】:

    • cookiefile是否需要存储在cookie文件中?可以存入数据库吗?它只是一个字符串,对吧?
    • 是的,但我想,问题是通过service.CookiesFile 使用它,你需要一个文件。使用window.document.cookie,您可以动态存储和检索而无需回退到文件。
    • 我只使用一个文件,:)
    • 如何在下一个会话中重复使用 cookie?
    • 它对我不起作用,我使用了whatarecookies.com/cookietest.asp,它告诉我每次我制作屏幕截图时都有新会话
    猜你喜欢
    • 1970-01-01
    • 2014-07-31
    • 2016-06-10
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    相关资源
    最近更新 更多