【问题标题】:Python click button on web page without selenium没有硒的网页上的Python单击按钮
【发布时间】:2020-12-07 01:38:34
【问题描述】:

所以网页上有一个按钮,点击后会下载 csv 文件。过去我曾使用 selenium 来执行此操作,但鉴于此脚本的当前应用程序正在数据块上运行,我宁愿不使用 Web 驱动程序。但是,当我检查按钮时,我看不到 URL 或 JS 函数调用。这是html的样子:

<button id="exportReport" class="button">
                    Export Report                   
                </button> == $0

我会链接该网页,但它需要登录。有什么方法可以模拟通过请求、机械化或美汤点击此按钮?

【问题讨论】:

  • 使用 Chrome 开发工具 > 网络标签。点击 CSV 按钮,查看 CSV 的来源。
  • 完美!不错的小技巧,能够从这里获取 api 端点

标签: python web-scraping beautifulsoup python-requests mechanize


【解决方案1】:

复制我对答案的评论:

使用 Chrome 开发工具 (F12) > 网络选项卡。点击网页上的按钮,查看 CSV 的来源:

【讨论】:

    【解决方案2】:

    尝试机械化:

    import mechanize
    
    br = mechanize.Browser()
    br.set_handle_robots(False)
    br.set_handle_equiv(False)
    br.set_handle_refresh(False)
    br.addheaders = [('User-agent', 'Mozilla/5.0')] 
    
    url = 'https://www.your_url'
    br.open(url, timeout=10.0)
    
    # If exist any form
    br.select_form(nr= 0)
    br.form['name_of_form']=str('text_to_search')
    
    # click on the button and saved it into a variable
    data = br.submit()
    

    另一种方法是尝试使用 Selenium,以防它是一个 javascript 按钮:

    data=browser.find_element_by_xpath("//input[@id='exportReport']")
    data=browser.execute_script("arguments[0].click();", data)
    

    希望你成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-05
      • 2017-06-24
      • 1970-01-01
      • 2017-08-23
      • 1970-01-01
      • 2015-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多