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

问题描述

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

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

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

解决方法

将我的评论复制到答案中

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

Chrome Tools Network Tab

,

尝试机械化:

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)

我希望你成功。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...