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)
祝你成功。
所以网页上有一个按钮,点击后下载一个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)
祝你成功。