python — как я могу использовать веб-браузер, нажмите и загрузите файл

#python #browser

Вопрос:

Рабочий процесс:

  • Веб-сайт:
    • не имеет API
    • требуется войти в систему
    • нажатие на кнопку для загрузки файла
      • Является кнопкой Javascript
  • сохраните файл в папке для загрузки

Вопрос:

  1. Есть ли способ сделать это с помощью python?

Комментарии:

1. Селен? Вы пробовали это сделать?

2. Я только что наткнулся на Селен. После публикации этого. Является ли селен лучшим для этого? или есть другие рекомендуемые альтернативы

Ответ №1:

Взгляните на селен

Он использует драйвер 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()
 

Комментарии:

1. Я только что наткнулся на это, но мне было интересно, является ли селен лучшим доступным вариантом?

Ответ №2:

Я предлагаю вам использовать Selenium для имитации среды браузера.

  1. Попробуйте войти в систему, указав свои учетные данные с помощью selenium.
  2. найдите тег кнопки и нажмите на него с помощью html-тега-идентификатора.
  3. Попробуйте найти местоположение загрузки файла / попробуйте загрузить его напрямую с помощью кнопки

Комментарии:

1. Это будет общее решение, но если вы хотите получить код, пожалуйста, укажите адрес веб-сайта.

2. Я только что наткнулся на это, но мне было интересно, является ли селен лучшим доступным вариантом?

3. Селен является широко используемым инструментом для автоматизированного тестирования браузеров и веб-сайтов.