0

我正在使用 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)

任何帮助或建议将不胜感激!!谢谢!

4

0 回答 0