任务是使用The引擎登录facebook页面。我已经为这个选择了Ghost.py。安装了pySide、烧瓶和粘贴模块,并最终得到了Ghost.py命令'pip Ghost.py‘。我的登录脚本很简单:
from ghost import Ghost
ghost = Ghost()
session = ghost.start()
page, resources = session.open('https://www.facebook.com/login.php')
result, resources = session.set_field_value("input[id=email]", 'email')
result, resources = session.set_field_value("input[id=pass]", 'passssss')
page, resources = session.call("form", "submit", expect_loading=True)
session.capture_to('I:\\beer.png')但是当我使用我的windows时,我在facebook页面上看到了“在浏览器中启用cookie”的消息。当我使用我的笔记本安装了软呢帽时,我成功登录了。有什么不同,如何解决这个问题呢?我想这是我的windows上的旧webkit版本。
发布于 2016-03-21 12:45:59
此时,我可以用下面的代码登录到我的Windows上的Facebook。任何时候,由于升级的结果,从他们的结束,然后改变受影响的部分。干杯。
from ghost import Ghost, Session
ghost = Ghost()
USERAGENT = "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"
with ghost.start():
session = Session(ghost, download_images=False, display=True, user_agent=USERAGENT)
page, rs = session.open("https://m.facebook.com/login.php", timeout=120)
assert page.http_status == 200
session.evaluate("""
document.querySelector('input[name="email"]').value = 'email@email.com';
document.querySelector('input[name="pass"]').value = 'email-password';
""")
session.evaluate("""document.querySelector('input[name="login"]').click();""",
expect_loading=True)
"""
import codecs
with codecs.open('fb.html', encoding='utf-8', mode='w') as f:
f.write(session.content)
"""
# session.save_cookies('fbookie')
session.capture_to(path='fbookie.png')
# gracefully clean off to avoid errors
session.webview.setHtml('')
session.exit()发布于 2016-09-03 20:51:18
要使用上面的iChux解决方案登录桌面,请按以下方式进行调整:
from ghost import Ghost, Session
ghost = Ghost()
USERAGENT = "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"
with ghost.start():
session = Session(ghost, download_images=False, display=True, user_agent=USERAGENT)
page, rs = session.open("https://www.facebook.com/?stype=lo&jlou=AfeuEMqFUkvZMOq7J0MmLJ6USegaIUsBJ5NAu-Qs3_JCE6MOHJGbiY-017Ob9CQCLUyUZ43Yuu2Etp091voL7O26&smuh=61591&lh=Ac_ChjmeXXM3DLIs", timeout=120)
assert page.http_status == 200
session.evaluate("""
document.querySelector('input[name="email"]').value = 'email';
document.querySelector('input[name="pass"]').value = 'password';
""")
session.evaluate("""document.querySelector('#loginbutton').click();""",
expect_loading=True)
import codecs
with codecs.open('fb.html', encoding='utf-8', mode='w') as f:
f.write(session.content)
# session.save_cookies('fbookie')
#session.capture_to(path='fbookie.png')
# gracefully clean off to avoid errors
session.webview.setHtml('')
session.exit()https://stackoverflow.com/questions/32959173
复制相似问题