[英]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--&adno=140305860&adsource=quoka+online&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.