使用Python提交表单后在浏览器中显示网站

使用Python提交表单后在浏览器中显示网站,python,python-2.7,mechanize,Python,Python 2.7,Mechanize,我希望使用Python(在2.7中工作)来: 打开一个网站(特别是) 根据Python脚本在本地计算机上找到的字符串在该页面上输入表单数据 在浏览器中显示生成的页面 我最初考虑使用mechanize,它适用于第(1)部分和第(2)部分。但是,使用mechanize,可以将结果页面的HTML作为输出(content,在下面的代码中)。然后,我可以将该HTML写入本地文件,并使用webbrowser.open()打开它,但由于生成的页面包含javascript,因此无法正确显示(没有显示的内容或多或

我希望使用Python(在2.7中工作)来:

  • 打开一个网站(特别是)
  • 根据Python脚本在本地计算机上找到的字符串在该页面上输入表单数据
  • 在浏览器中显示生成的页面
  • 我最初考虑使用mechanize,它适用于第(1)部分和第(2)部分。但是,使用mechanize,可以将结果页面的HTML作为输出(
    content
    ,在下面的代码中)。然后,我可以将该HTML写入本地文件,并使用
    webbrowser.open()
    打开它,但由于生成的页面包含javascript,因此无法正确显示(没有显示的内容或多或少就是查看该页面的全部内容)

    有没有办法完成第(3)部分?最便宜的方法是使用
    webbrowser.open()
    和最终的URL字符串(以及插入的本地数据),除非按下“提交”按钮后URL根本不会改变

    现有的相关代码(包括将HTML保存到本地计算机并以这种方式打开):

    (在上文中,
    br[]
    语句是页面上的表单标签,
    ra
    dec
    变量是根据情况从我的文件中获取的值。例如,
    ra=03:50:10.71
    dec=+32:32:29.60
    。如果你愿意,你可以将它们插入网站,看看我想看什么。)


    任何和所有的建议都将不胜感激!谢谢

    正如我所见,您对显示带有值的页面很感兴趣 不仅仅是获取发送请求的数据。 您的想法不错,但mechanize并没有使用任何实际的浏览器实例。机械化是

    程序化网页浏览

    我猜你在寻找类似的东西:


    这绝对是正确的选择。非常感谢!
    #!/usr/bin/env python
    
    import webbrowser
    import mechanize
    
    url = 'http://nunuku.caltech.edu/cgi-bin/getcssconedb_release_img.cgi'
    br = mechanize.Browser()
    br.open(url)
    br.select_form(nr = 0)
    br['RA'] = ra
    br['Dec'] = dec
    br['Rad'] = '0.1'
    br['IMG'] = ['nun']    # These are for the radio buttons.
    br['DB'] = ['photcat']
    br['OUT'] = ['csv']
    br['SHORT'] = ['short']
    response = br.submit()
    content = response.read()
    with open('results.html', 'w') as f:
        f.write(content)
    webbrowser.open('results.html')