我正在以编程方式创建测试帐户,然后立即尝试使用 selenium 驱动的浏览器登录。不幸的是,浏览器只是重定向到 facebook 主页。在重定向闪过之前,我可以简要地看到似乎是正确的 url,所以我没有理由相信浏览器没有按照我的预期运行。
也就是说,如果创建一个假帐户,然后将 login_url 粘贴到浏览器中,一切正常。任何人都知道为什么在这里使用 Selenium 可能是独一无二的?我需要做些什么来准备浏览器以进行 https 连接或其他操作吗?
我所做的就是:(使用 capybara 和 Selenium 网络驱动程序)
访问@fake_user.login_url
https://www.facebook.com/platform/test_account_login.php?user_id=100002152974488&n=ILRvb8Lqf2cq05t
GET/platform/test_account_login.php?user_id=100002152974488&n=ILRvb8Lqf2cq05t HTTP/1.1 主机:www.facebook.com 用户代理:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15 接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 接受语言:en-us,en;q=0.5 接受编码:gzip、deflate 接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.7 保持事件:115 连接:保持事件状态
HTTP/1.1 302 找到 缓存控制:私有(private)、无缓存、无存储、必须重新验证 过期时间:2000 年 1 月 1 日星期六 00:00:00 GMT 地址:http://www.facebook.com/ P3P:CP="Facebook 没有 P3P 政策。在此处了解原因:http://fb.me/p3p " Pragma:无缓存 设置 Cookie:datr=d3J_TWSAN5uIXyh94O1YJkJ8;过期 = 2013 年 3 月 14 日星期四 14:06:47 GMT;路径=/;域名=.facebook.com; httponly 设置-Cookie:lsd=-Lv-N;路径=/;域名=.facebook.com 内容类型:文本/html;字符集=utf-8 X-Powered-By:HPHP X-FB-服务器:10.52.145.67 X-连接:关闭 日期:2011 年 3 月 15 日星期二 14:06:47 GMT
内容长度:0
获取/HTTP/1.1 主机:www.facebook.com 用户代理:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15 接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 接受语言:en-us,en;q=0.5 接受编码:gzip、deflate 接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.7 保持事件:115 连接:保持事件状态 cookies :数据=d3J_TWSAN5uIXyh94O1YJkJ8; lsd=-Lv-N
HTTP/1.1 200 正常 缓存控制:私有(private)、无缓存、无存储、必须重新验证 过期时间:2000 年 1 月 1 日星期六 00:00:00 GMT P3P:CP="Facebook 没有 P3P 政策。在此处了解原因:http://fb.me/p3p " Pragma:无缓存 设置Cookie:reg_fb_gate=http%3A%2F%2Fwww.facebook.com%2F;路径=/;域名=.facebook.com 设置-Cookie:reg_fb_ref=http%3A%2F%2Fwww.facebook.com%2F;路径=/;域名=.facebook.com 内容编码:gzip 内容类型:文本/html;字符集=utf-8 X-Powered-By:HPHP X-FB-服务器:10.52.163.25 X-连接:关闭 传输编码:分 block 日期:2011 年 3 月 15 日星期二 14:06:47 GMT
最佳答案
在尝试访问登录 url 之前先访问 Facebook 主页:
visit "https://www.facebook.com"
visit @fake_user.login_url
我没有检查标题,但我猜 Facebook 设置了一些登录所需的 cookie。
关于使用 selenium 的 Facebook 测试帐户 - 无法登录我的假用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5308281/