会议预览版将一直开放到session
退出 - 通过保持会话的上下文session.exit()
被隐式调用。要保持这种状态,你需要不退出会话上下文,或者不使用会话上下文。
前者可以实现像这样:
from ghost import Ghost
import PySide
ghost = Ghost()
with ghost.start() as session:
page, resources = session.open("https://www.instagram.com/accounts/login/?force_classic_login")
session.set_field_value("input[name=username]", "joe")
session.set_field_value("input[name=password]", "test")
session.show()
session.evaluate("alert('test')")
# other python code
后者可以实现为这样:当蟒蛇过程结束
from ghost import Ghost
import PySide
ghost = Ghost()
session = ghost.start()
page, resources = session.open("https://www.instagram.com/accounts/login/?force_classic_login")
session.set_field_value("input[name=username]", "joe")
session.set_field_value("input[name=password]", "test")
session.show()
session.evaluate("alert('test')")
# other python code
会话然而将不可避免的退出。另外值得注意的是,一旦初始http请求完成,一些操作就会返回。如果您希望等到其他资源加载完毕,则可能需要致电session.wait_for_page_loaded()
。我还发现,某些表单提交需要拨打session.sleep()
才能按预期行事。