Python 在没有 selenium 的网页上单击按钮

Python click button on web page without selenium

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

<button id="exportReport" class="button">
                    Export Report                   
                </button> == [=11=]

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

正在将我的评论复制到答案中:

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

尝试机械化:

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)

祝你成功。