我正在使用 MechanicalSoup 在网站上测试表单。该表单有几个不同的无线电输入,我想遍历每个输入并检查表单是否打开了正确的页面。出于商业/隐私原因,我无法在网站上发布确切的代码,但这是我的通用流程。
当我选择 name='dummyVar' 的单选按钮的输入并检查它是否使用 brwsr.launch_browser() 工作时,我可以看到 brwsr 选择了正确的输入。但是,当我提交表单时, brwsr.launch_browser() 总是打开连接到第一个单选输入选项的页面,即使我可以看到刚刚选择了第二个、第三个等输入按钮。当我在常规浏览器中浏览表单时,该网站可以正常工作,但我很好奇为什么我创建的 MechanicalSoup StatefulBrowser 无法正确打开链接到每个无线电输入的页面。
brwsr = mechanicalsoup.StatefulBrowser(
soup_config={'features': 'lxml'},
raise_on_404=True,
user_agent='MyBot/0.1: ' + url,
)
brwsr.open(url)
e_form = brwsr.select_form(nr=0)
e_form['dummyVar'] = child['value'] #selecting applicable radio input (THIS WORKS PROPERLY)
brwsr.launch_browser() #this confirms that the form is selecting the correct radio input
brwsr.submit_selected() #submit engine form
brwsr.launch_browser() #checking if correct page is opened (WHERE PROBLEM OCCURS: only ever opens page attached to first radio input button)
任何帮助或建议将不胜感激!!谢谢!