使用 selenium 的 Facebook 测试帐户 - 无法登录我的假用户

标签 facebook selenium facebook-graph-api selenium-rc capybara

我正在以编程方式创建测试帐户,然后立即尝试使用 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://www.facebook.com/

获取/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/

相关文章:

python - 无法从我的脚本中消除硬编码延迟以获得准确的结果

python-3.x - 如何通过Python使用selenium点击隐藏按钮

facebook - 今天有人真的有 Facebook 图形洞察 api 工作吗?

ios - FBSDKLog 缺少权限

javascript - 访问 FB.login 函数内部的变量

java - 如何使用 Spring 和 Hibernate 在 java 中加载 Facebook 属性文件

facebook - 来自此广告帐户的调用过多。稍等一下,然后重试

testing - 如何从 selenium webdriver 中的 div 类标签中获取文本?

android - NoClassDefoundError while class is exist in the program

java - GAE/J : How do I POST a Multipart MIME message from appengine to facebook