python - 如何使用网络浏览器点击并下载文件
python - how can I use web browser click and download a file
工作流程:
- 网站:
- 没有 API
- 需要登录
- 点击按钮下载文件
- 是一个Javascript按钮
- 将文件保存到下载位置
问题:
- 有没有办法通过 python 做到这一点?
我建议你使用Selenium来模拟浏览器环境。
- 使用 selenium 提供您的凭据尝试登录。
- 找到按钮标签并使用 html-tag-id 点击它。
- 尝试找到文件的下载位置/尝试使用按钮直接下载
看看selenium
它使用 chrome 驱动程序(或 firefox)并且可以模拟 javascript。
这是单击按钮的示例:
from selenium import webdriver
import time
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument("--test-type")
options.binary_location = "/usr/bin/chromium"
driver = webdriver.Chrome(chrome_options=options)
driver.get('http://codepad.org')
# click radio button
python_button = driver.find_elements_by_xpath("//input[@name='lang' and @value='Python']")[0]
python_button.click()
# type text
text_area = driver.find_element_by_id('textarea')
text_area.send_keys("print('Hello World')")
# click submit button
submit_button = driver.find_elements_by_xpath('//*[@id="editor"]/table/tbody/tr[3]/td/table/tbody/tr/td/div/table/tbody/tr/td[3]/input')[0]
submit_button.click()