【问题标题】:python - how can I use web browser click and download a filepython - 我如何使用网络浏览器单击并下载文件
【发布时间】:2021-11-22 02:51:46
【问题描述】:

工作流程:

  • 网站:
    • 没有 API
    • 需要登录
    • 单击按钮下载文件
      • 是一个 Javascript 按钮
  • 将文件保存到下载位置

问题:

  1. 有没有办法通过 python 做到这一点?

【问题讨论】:

  • 硒?你试过吗?
  • 我刚刚遇到了 Selenium。发这个之后。硒是最好的吗?还是有其他推荐的替代品

标签: python browser


【解决方案1】:

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

【讨论】:

  • 我刚遇到这个,但想知道硒是最好的选择吗?
【解决方案2】:

我建议你使用 Selenium 来模拟浏览器环境。

  1. 尝试通过使用 selenium 提供凭据来登录。
  2. 找到按钮标签并使用html-tag-id点击它。
  3. 尝试找到文件的下载位置/尝试直接使用按钮下载

【讨论】:

  • 这将是一个通用的解决方案,但是如果您想获取代码,请指定网址。
  • 我刚遇到这个,但想知道硒是最好的选择吗?
  • Selenium 是一种广泛使用的自动测试浏览器和网站的工具。
猜你喜欢
  • 2019-10-02
  • 1970-01-01
  • 2013-02-24
  • 2011-04-25
  • 1970-01-01
  • 2012-07-27
  • 1970-01-01
  • 2013-06-24
  • 2017-01-02
相关资源
最近更新 更多