Javascript 使用Python的mechanize激活onclick=showpage()

Javascript 使用Python的mechanize激活onclick=showpage(),javascript,python,web-crawler,screen-scraping,mechanize,Javascript,Python,Web Crawler,Screen Scraping,Mechanize,我正在使用python的mechanize模块模拟一个浏览器,但是我在使用链接时遇到了一些问题,这些链接实际上没有链接到另一个url,只是激活了一个请求一些php操作的javascript函数。这是我想使用的链接,它是导航栏菜单中无序列表的一部分: <a href="#" onclick="showpage('dataTitle.php');"><i class="clip-phone-3"></i>

我正在使用python的mechanize模块模拟一个浏览器,但是我在使用链接时遇到了一些问题,这些链接实际上没有链接到另一个url,只是激活了一个请求一些php操作的javascript函数。这是我想使用的链接,它是导航栏菜单中无序列表的一部分:

                            <a href="#" onclick="showpage('dataTitle.php');"><i class="clip-phone-3"></i>
                                <span class="title">dataTitle</span>
                                <span class="selected"></span>
                            </a>
但是我没有看到我应该*的数据表,只是在单击链接之前页面上的html数据

*我期望看到的与我使用鼠标和实际浏览器单击链接时看到的相同。我担心mechanize click_link函数会跟随href地址,它在这里是一个虚拟占位符,并且不会激活onclick函数


有没有可能使用mechanize激活这类东西,或者我必须放弃目前为止所做的工作,转而使用phantomjs?

mechanize不使用JavaScript,所以为了使这项工作像在常规浏览器中一样,您确实必须使用phantomjs或Selenium之类的东西。但是,根据所涉及的JS的复杂程度,特别是showpage函数的复杂程度,您可能能够模拟部分行为。使用或Chrome的开发工具监视网络请求,并查看发送到dataTitle.php的请求。然后,您可以从代码中模拟该请求。谢谢@LukasGraf,这真的很有帮助。我正在使用你建议的第二种方法,试图保留迄今为止所做的工作。研究正在发出的post请求,并使用mechanize和urllib复制它们。
resp = br.click_link(text = "Dumps")
req = br.open(resp)
print req.read()