【发布时间】:2020-05-01 01:49:31
【问题描述】:
我正在尝试使用 Cheerio 访问文本区域内的文本,但其文本未显示在 HTML Dom 中。
这是文本区域的 HTML:
<textarea id="MainContentPlaceHolder_txtGtin-inputEl" name="MainContentPlaceHolder_txtGtin" rows="4" cols="20" readonly="readonly" class="x-form-field x-form-text x-form-textarea" autocomplete="off" aria-invalid="false" data-errorqtip="" style="width: 100%;"></textarea>
这是浏览器中文本区域的图片:
我猜它是某种服务器生成的文本,不会出现在 Dom 中(是吗?)。
如何从页面的 HTML 和代码中获取文本?
我正在使用 Puppeteer + Cheerio 来抓取页面,如果您知道任何一种方法可以帮助我解决这个问题,我将不胜感激。
【问题讨论】:
-
textarea 的值一旦成为 DOM 的一部分就不会存储在它的开始和结束标记之间,该文本用于设置实际保存该值的属性的初始值。您应该能够以与输入 stackoverflow.com/a/19790446/1650337 相同的方式获取 textarea 的值
-
我知道,当我尝试使用 Cheerio 的 ``` .val() ``` 函数来获取 textarea 的值时,它返回 undefined ,我猜我需要使用别的东西。
-
听起来很像,如果问题是关于检索值,您可能需要编辑问题/标题以使其更清晰,并添加一些您尝试过的示例。
-
到目前为止你尝试了什么?
-
@hardkoded 任何我能想到的东西,如果内容仍在加载,请再等几秒钟,蚂蚁试图用 puppeteer 的评估()函数访问它,但我没有成功
标签: html typescript web-scraping puppeteer cheerio