繁体   English   中英

使用Javascript抓取网页 <select>选项

[英]Scraping Webpages with Javascript-loaded <select> options

我正在尝试使用Python的机械化模块来提交HTML POST表单请求。 为此,我必须从<select>元素中选择一个选项,但是这些选项是由Javascript动态加载的。

由于我知道要使用的<select>选项,因此我尝试使用尚未加载的选项值构造表单请求,方法如下:

browser.find_control(name="formName", kind="list").value = ["optionValue"]

但是,mechanize会引发ItemNotFoundError,因为它将值视为无效。 此外,我尝试将所需的选项值附加到listvalue上,然后进行设置,但这也不起作用。 知道如何解决此问题并将控件设置为Javascript加载值吗?

也许您已经做到了,但是当您尝试将选项追加到<select>列表时,请使用JavaScript中较麻烦的document.createElementparentNode.appendChild方法,而不要使用innerHMTL=... ,jQuery html(..)或jQuery $('<..>..</..>')并不总是完全或正确地工作(例如,在您的情况下)。

动态加载选项还可以将令牌(例如csrf )插入表单中的隐藏字段,该令牌必须包含在帖子中。 在这种情况下,您必须在创建帖子之前触发或等待选项的加载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM