一尘不染

使用Selenium和python捕获AJAX响应

selenium

我单击Firefox中的链接,网页使用javascript发送请求,然后服务器发送某种响应,其中包括网站地址。这样,新网站就会在新窗口中打开。链接后面的html代码是(我省略了initial和final
<span>标签):

> class="taLnk hvrIE6"
> onclick="ta.trackEventOnPage('AttractionContactInfo', 'Website',
> 2316062, 1); ta.util.cookie.setPIDCookie(15190);
> ta.call('ta.util.link.targetBlank', event, this,
> {'aHref':'LqMWJQiMnYQQoqnQQxGEcQQoqnQQWJQzZYUWJQpEcYGII26XombQQoqnQQQQoqnqgoqnQQQQoqnQQQQoqnQQQQoqnqgoqnQQQQoqnQQuuuQQoqnQQQQoqnxioqnQQQQoqnQQJMsVCIpEVMSsVEtHJcSQQoqnQQQQoqnxioqnQQQQoqnQQniaQQoqnQQQQoqnqgoqnQQQQoqnQQWJQzhYmkXHJUokUHnmKTnJXB',
> 'isAsdf':true})">Website

我想捕获服务器响应并使用Python和Selenium提取“新网站”。我一直在使用BeautifulSoup进行抓取,对Selenium来说还很陌生。

到目前为止,我已经能够找到该元素并使用selenium单击它,它会在新窗口中打开“新网站”。我不知道如何从服务器捕获响应。


阅读 754

收藏
2020-06-26

共1个答案

一尘不染

我无法使用硒捕获AJAX响应,但这是可行的,尽管没有硒:

1-通过监视浏览器中的网络分析工具找出XML请求

2
=确定请求后,请使用Python的请求或urllib2模块重新生成请求。我个人推荐请求,因为它具有其他功能,对我来说最重要的是request.Session。

您可以找到有关这两个步骤的大量帮助和相关文章。

希望有一天能对某人有所帮助。

2020-06-26