我在页面上有以下输入:
<input name="ct99" value="" id="ct99" class="GetData" type="submit">
<input name="ct92" value="" id="ct92" class="GetData" type="submit">
<input name="ct87" value="" id="ct87" class="GetData" type="submit">
类 GetData 显示一些可点击的图标。单击它时,将打开新页面。一些 JavaScript 会处理它。我怎样才能遵循这个?
我已经在尝试下面的代码只是为了看看 scrapy 是否跟随输入,但没有成功。
def parse(self, response):
sel = Selector(response)
links = sel.xpath("//input[@class='GetData']").extract()
for data in links:
yield scrapy.FormRequest.from_response(response,
formdata={}, callback=self.after_click)
def after_click(self, response):
url = response.url
print '\nURL', url
最佳答案
有两种常见的方法来解决这个问题:
- 使用浏览器开发工具(网络选项卡),检查当您单击特定按钮时发送的请求,然后使用
scrapy.Request
或scrapy.FormRequest
模拟此请求/li> 使用
selenium
使浏览器自动化:找到按钮并单击它,然后获取.page_source
并实例化一个Selector
实例,请在此处查看示例:
关于xpath - Scrapy跟随javascript输入按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34927853/