使用加载的Javascript抓取网页<;选择>;选择权

使用加载的Javascript抓取网页<;选择>;选择权,javascript,python,html,Javascript,Python,Html,我试图使用Python的mechanize模块提交一个HTML POST表单请求。为此,我必须从元素中选择一个选项,但这些选项是由Javascript动态加载的 因为我知道要使用的选项,所以我尝试使用尚未加载的选项值构造表单请求,操作如下: browser.find_control(name="formName", kind="list").value = ["optionValue"] 但是,mechanize会引发ItemNotFoundError,因为它认为该值无效。此外,我尝试将我想要

我试图使用Python的mechanize模块提交一个HTML POST表单请求。为此,我必须从元素中选择一个选项,但这些选项是由Javascript动态加载的

因为我知道要使用的选项,所以我尝试使用尚未加载的选项值构造表单请求,操作如下:

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

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

也许您已经这样做了,但是当您尝试将选项附加到
列表时,请使用更麻烦的
document.createElement
parentNode.appendChild
方法,而不是
innerHMTL=…
,jQuery
html(…)
或jQuery
$(“…”)
,它们并不总是完全或正确工作(例如,在您的情况下)


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

查看代码,控件有一个
.items
属性,它是一个列表。你需要弄清楚什么类型的物体需要放进去。或者,如果您知道所有必需的值,请跳过表单的mechanize,直接发出POST请求。