Как запустить JavaScript в Python для парсинга веб-страниц или тестирования веб-сайтов
Table Of Content
- Парсинг веб-страниц с помощью Python и JavaScript
- Изучите одну технику парсинга веб-страниц для решения любой задачи по парсингу
- **Настройка**
- 1. Установка библиотеки Selenium на Mac и Windows
- 2. Установка безголового драйвера Google Chrome
- 3. Запустите python-скрипт
- 4. Запустите программу
- 5. Анализ скрипта на Python
- захват скриншота
- Посмотрите мои другие учебники по парсингу веб-страниц:
- Как собрать новости с помощью парсера веб-страниц на Python
- Давайте изучим парсинг веб-страниц с использованием библиотеки BeautifulSoup на Python
- Как собрать данные с веб-сайта на основе JavaScript с помощью Python, Selenium и безголового веб-драйвера
- Изучите одну технику парсинга веб-страниц для решения любой задачи парсинга.
Парсинг веб-страниц с помощью Python и JavaScript
Изучите одну технику парсинга веб-страниц для решения любой задачи по парсингу
При разработке веб-приложений иногда нам нужно тестировать пользовательский интерфейс. В большинстве случаев мы делаем это вручную. В этом руководстве я покажу вам, как использовать библиотеку Selenium, JavaScript и Python для решения этой проблемы. С помощью этой техники вы также можете парсить данные с веб-страницы.
Мы будем выполнять следующие шаги:
Настройка
Для установки библиотеки Selenium для этого проекта нам понадобится
[pipenv](https://thinkdiff.net/python/python-official-pipenv-packaging-tool-for-virtualenv-and-pip-in-mac-and-windows/)
. **Если вы не знаете, как установить**Pipenv**
, пожалуйста, **проверьте мое другое руководство
1. Установка библиотеки Selenium на Mac и Windows
Сначала откройте терминал и перейдите в директорию. В моем случае я нахожусь в следующей директории:
/Users/mahmud/Desktop/demo/sel1
Теперь откройте терминал на Mac или PowerShell на Windows и выполните следующие команды:
pipenv install selenium
Это создаст 2 файла, Pipfile
и Pipfile.lock
Теперь выполните следующую команду, чтобы активировать виртуальное окружение проекта sel1.
pipenv shell
2. Установка безголового драйвера Google Chrome
Для автоматизации веб-браузера нам понадобится установить драйвер Google Chrome. Пожалуйста, посетите следующий веб-сайт и скачайте последнюю версию драйвера для вашей операционной системы Mac, Windows или Linux.
Теперь распакуйте скачанный файл и скопируйте файл **chromedriver.exe**
в нашу рабочую директорию проекта **sel1**
.
3. Запустите python-скрипт
Теперь в директории sel1
создайте python-скрипт с именем **chapter9.py или что-то еще**
и вставьте следующий код.
4. Запустите программу
В терминале macOS выполните следующую команду:
python3 chapter9.py
В окне PowerShell Windows 10 выполните следующую команду. Просто используйте Python вместо Python3
python chapter9.py
После успешного запуска программы вы получите файл png с именем python-github.png
5. Анализ скрипта на Python
Это очень простой скрипт. Сначала мы импортируем библиотеки Selenium для Python в наш скрипт. Затем мы создаем объект веб-драйвера на основе некоторых предоставленных параметров, а также указываем расположение драйвера браузера Google Chrome через объект **chrome_driver**
.
Затем с помощью метода **driver.get()**
мы загружаем веб-сайт [github.com](http://github.com/)
.
В разделе #scrap info мы парсим данные HTML-тега h1 и выводим их в консоль. Вот как мы парсим с помощью Selenium и браузера без графического интерфейса.
В разделе #scrap info мы парсим данные HTML-тега h1 и выводим их в консоль. Вот как мы парсим с помощью Selenium и браузера без графического интерфейса.
_# парсинг информации_
h1_elem = driver.find_element_by_tag_name("h1")
print(h1_elem.text)
Мы видим, что в терминале выводится "Built for developers".
Наконец, мы заполняем и отправляем форму с помощью кода. Чтобы выбрать форму поиска на веб-странице с помощью JavaScript, мы используем опцию "Просмотр кода" в браузере Google Chrome, чтобы проверить имя элемента формы.
Вот код, который автоматически выполняет поиск и отправляет форму:
_# заполнение и отправка формы_
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("python")
elem.send_keys(Keys.RETURN)
Чтобы сделать снимок экрана конечной страницы, мы пишем следующий код:
# захват скриншота
driver.get_screenshot_as_file("python-github.png")
driver.close()
Ссылки:
-
Документация Selenium для Python: http://selenium-python.readthedocs.io/getting-started.html
-
Веб-драйвер Google Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads
Посмотрите мои другие учебники по парсингу веб-страниц:
Как собрать новости с помощью парсера веб-страниц на Python
Давайте изучим парсинг веб-страниц с использованием библиотеки BeautifulSoup на Python
medium.com
Как собрать данные с веб-сайта на основе JavaScript с помощью Python, Selenium и безголового веб-драйвера
Изучите одну технику парсинга веб-страниц для решения любой задачи парсинга.
medium.com