在响应表单中找到 javascript 中的一些值
find some value in javascript, in the response form
我有一个urlwww.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'})
这给出 'None'
那我该怎么做呢?
谢谢
br.find
适用于 html,由于您想要的内容在 JS 调用中,因此我们无法使用它。
所以其他选项是
使用 rejex(在我看来有点硬编码)
通过查找最终包含所需数据的节点所在的父节点,然后通过正则表达式找到该字符串,即 'wi5U8xXijdXRrPR4aG84OAjSLsuS1YqTV4X7VLDnWeuwr72D39H-KXBsyG7eZEZPT7YXW7GF26IiQBrW0vcEZd5Bqrjof_CVEUFRTDPS4rx68Opmi6juZXnGDEtb9nsBXxM4Why2WNlflqFM6purXw2'
lxml.html (xpath)
我可能更喜欢的另一种方式是 lxml.html
或 import html from lxml
一样的东西
这是它的一些代表。
data = lmxl.html(parsedData)
stuff = data.xpath('XPATH to you data')
您可以在此处找到更多信息 Can I parse xpath using python, selenium and lxml? and have a look in docs
还有
希望对您有所帮助。
干杯。
我有一个urlwww.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'})
这给出 'None'
那我该怎么做呢?
谢谢
br.find
适用于 html,由于您想要的内容在 JS 调用中,因此我们无法使用它。
所以其他选项是
使用 rejex(在我看来有点硬编码)
通过查找最终包含所需数据的节点所在的父节点,然后通过正则表达式找到该字符串,即
'wi5U8xXijdXRrPR4aG84OAjSLsuS1YqTV4X7VLDnWeuwr72D39H-KXBsyG7eZEZPT7YXW7GF26IiQBrW0vcEZd5Bqrjof_CVEUFRTDPS4rx68Opmi6juZXnGDEtb9nsBXxM4Why2WNlflqFM6purXw2'
lxml.html (xpath)
我可能更喜欢的另一种方式是lxml.html
或import html from lxml
一样的东西
这是它的一些代表。
data = lmxl.html(parsedData)
stuff = data.xpath('XPATH to you data')
您可以在此处找到更多信息 Can I parse xpath using python, selenium and lxml? and have a look in docs 还有
希望对您有所帮助。
干杯。