gpt4 book ai didi

ruby - 使用 Mechanize 更改表单选择字段不起作用(Ruby)

转载 作者:行者123 更新时间:2023-12-04 16:21:09 25 4
gpt4 key购买 nike

我正在尝试通过更改“选择”字段的输入来使用 Mechanize 提交表单。但是,当我更改输入值并提交时,它返回页面,就好像没有更改任何字段一样。

同样在此表单中的任何字段上,除了这个字段,我都返回了正确的页面。为什么会发生这种情况?有没有办法使用 Mechanize 在选择字段中实际“选择”正确的选项?

#This is how I set up my browser
br = Mechanize.new
cert_store = OpenSSL::X509::Store.new
cert_store.add_file 'cacert.pem'
br.cert_store = cert_store
page = br.open(url)
form = page.forms.first

#I've tried
form["sel_subj"] = "ACCT"
new_page = form.submit

#and

form.field_with(:name => "sel_subj").options[1].select #and ".click"
new_page = form.submit

我没有收到错误消息,也没有找到“404”页面,所以它必须找到那个特定的表单选项。如果我在 chrome 上手动选择该选项,它只是没有显示页面。

最佳答案

问题是选择框是多选的,“单击”一个选项会添加它,而不会取消选择上一个选项。

改变:

search_form.field_with(:id => 'subj_id').options[i].click

到:
search_form.field_with(:id => 'subj_id').options[i].click
search_form.field_with(:id => 'subj_id').options[i+1].click

成功了,因此单击了先前选择的选项。

关于ruby - 使用 Mechanize 更改表单选择字段不起作用(Ruby),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58002969/

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