在 JavaScript 的响应表单中找到一些价值



我有一个网址www.example.com/test所以通过使用 robobrowsker 访问这个 url,我找到了一些 js 作为响应,它包含这样的东西

var token = _.unescape("<input name="__RequestVerificationToken" type="hidden" value="wi5U8xXijdXRrPR4aG84OAjSLsuS1YqTV4X7VLDnWeuwr72D39H-KXBsyG7eZEZPT7YXW7GF26IiQBrW0vcEZd5Bqrjof_CVEUFRTDPS4rx68Opmi6juZXnGDEtb9nsBXxM4Why2WNlflqFM6purXw2" />");
aw.antiforgeryToken[$(token).attr('name')] = $(token).val();

我想得到 'wi5U8xXijdXRrPR4aG84OAjSLsuS1YqTV4X7VLDnWeuwr72D39H-KXBsyG7eZEZPT7YXW7GF26IiQBrW0vcEZd5Bqrjof_CVEUFRTDPS4rx68Opmi6juZXnGDEtb9nsBXxM4Why2WNlflqFM6purXw2'

我试过这个

browser=RoboBrowser()
browser.open('https://www.example.com/test')
result=browser.find('script',{'name':'__RequestVerificationToken'})

这给出了"无">

那么我该怎么做呢?

谢谢

br.find适用于html,并且由于您想要的内容在JS调用中,因此我们不能使用它。

所以其他选择是

  1. 使用rejex(在我看来有点硬编码(

    通过查找最终包含所需数据的节点所在的父节点,然后找到该字符串,即 通过正则表达式'wi5U8xXijdXRrPR4aG84OAjSLsuS1YqTV4X7VLDnWeuwr72D39H-KXBsyG7eZEZPT7YXW7GF26IiQBrW0vcEZd5Bqrjof_CVEUFRTDPS4rx68Opmi6juZXnGDEtb9nsBXxM4Why2WNlflqFM6purXw2'

  2. lxml.html(xpath(
    这是我可能更喜欢的另一种方式是lxml.htmlimport html from lxml一件事

这是它的一些表示。

data = lmxl.html(parsedData)
stuff = data.xpath('XPATH to you data')

你可以在这里找到更多 我可以使用 python、Selenium 和 lxml 解析 xpath 吗? 并查看文档 也

我希望我有帮助。

干杯。

最新更新