繁体   English   中英

使用Python运行Javascript(onclick)

[英]Run Javascript with Python (onclick)

如何使用python运行在html标记中找到的javascript?

在html中有一个标记,其中包含单击(onclick)后正在运行的javascript。

这是示例:

<span id="Handy2">
    <span class="cust-type">0179... </span>
    <a id="dspphone2" style="cursor: pointer;" class="t-info" onclick="jQuery( Handy2 ).load( '/ajax/detail/displayphonenumber.php?coded=MDE3OS8gNjk2MTA5Mw--&amp;adno=140305860&amp;adsource=quoka+online&amp;catid=36_3210' )" data-trackl="Detail 36_3210">
        anzeigen
    </a>
</span>

我应该怎么做才能运行它并收到单击此按钮后可见的代码?

我主要使用BeautifulSoup。

编辑:我知道如何使用硒来做到这一点,但我认为这是一个过大的杀伤力。

您不能像上面已经提到的那样仅在Python中运行它,而是需要一个JavaScript解释器。 在我看来,您只想获取此AJAX调用加载的数据,您应该执行类似的操作(这只是一个示例)

import urllib2
html = urllib2.urlopen('http://your_site_name.com/ajax/detail/displayphonenumber.php?coded=MDE3OS8gNjk2MTA5Mw--&adno=140305860&adsource=quoka+online&catid=36_3210').read()
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(html)

这只是一个小的XHR请求,它在响应中返回您要查找的电话号码。 自己尝试: http ://www.xxx.de/ajax/detail/displayphonenumber.php?coded=MDE3OS8gNNjk2MTA5Mw--&adno=140305860&adsource=quoka+online&catid=36_3210我将使用xpath选择器和regex获取您搜索的值。 然后替换“;” 与“&”并请求新的网址。

无法直接从python运行JavaScript。
最好的办法是运行selenium和phantomJs来收集数据。

以下链接可能会对您有所帮助。 https://realpython.com/blog/python/headless-selenium-testing-with-python-and-phantomjs/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM