gpt4 book ai didi

ruby - 如何使用 Mechanize 保存通过单击按钮下载的文件

转载 作者:数据小太阳 更新时间:2023-10-29 07:06:10 26 4
gpt4 key购买 nike

我正在尝试使用 Mechanize 来模拟点击网页上的按钮,然后会在浏览器中启动文件下载。这是我的代码片段

form = page.forms.first # => Mechanize::Form
form = agent.page.form_with(:name => "aspnetForm")

button = form.button_with(:value => "GPX file")
pp button

agent.submit(form, button)

pp按钮的输出是这样显示的,这意味着它是右键:

#<Mechanize::Form::Submit:0x89fe874
@name="ctl00$ContentBody$btnGPXDL",
@node=
#(Element:0x44ff480 {
name = "input",
attributes = [
#(Attr:0x44476d2 { name = "type", value = "submit" }),
#(Attr:0x44476c8 {
name = "name",
value = "ctl00$ContentBody$btnGPXDL"
}),
#(Attr:0x44476be { name = "value", value = "GPX file" }),
#(Attr:0x44476a0 { name = "id", value = "ctl00_ContentBody_btnGPXDL" })]
}),
@value="GPX file">

但是在发出“agent.submit(form, button)”之后,我怎样才能让 Mechanize 检索单击该按钮时将发送到浏览器的文件?

我搜索并找到了获取网页或链接的方法,但没有找到适合这种情况的方法?

顺便说一句,我是 ruby​​ 和 Mechanize 的新手,如果这是一个愚蠢的问题,我深表歉意,但感谢您的回复!

男:

最佳答案

文件或页面应由提交返回:

response = agent.submit(form, button)
File.open('saved_file', 'wb'){|f| f << response.body}

关于ruby - 如何使用 Mechanize 保存通过单击按钮下载的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16499069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com