没有硒的网页上的Python单击按钮

时间:2020-08-17 21:36:12

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

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

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

我会链接该网页,但需要登录。我可以通过请求,机械化或精美汤品来模拟单击此按钮吗?

2 个答案:

答案 0 :(得分:1)

将我的评论复制到答案中

使用Chrome开发者工具(F12)>“网络”标签。单击网页上的按钮以查看CSV的来源:

Chrome Tools Network Tab

答案 1 :(得分:0)

尝试机械化:

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()

如果是javascript按钮,另一种方法是尝试使用Selenium:

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

我希望你成功。