In MechanicalSoup (python 3x) how to logout a webs

2019-01-15 22:22发布

问题:

I could successfully login and navigate through a website but when I inspected the logout button it is like javascript:__doPostBack('ctl00$lnkBtnLogout','') as link, follow_link() doesn't work on this (saying: no adapters)??? Can someone help me?

回答1:

From https://github.com/MechanicalSoup/MechanicalSoup:

A Python library for automating interaction with websites. MechanicalSoup automatically stores and sends cookies, follows redirects, and can follow links and submit forms. It doesn't do JavaScript.

This gives you two options.

Do the JavaScript yourself

Read the JavaScript. Reverse engineer it. Reimplement it in Python. Figure out what data in the page is dynamic and needed for the algorithm. Extract that using MechanicalSoup and insert it into your reimplementation.

Don't use MechanicalSoup

Use something which does support JavaScript (such as Selenium or PhantomJS) instead.