May 17, 2022

Як юзати selenium?

Як ви можете знати з минулого посту selenium це штука яка дозволяє контролювати браузер.

Встановлення.

Для початку треба скачати python.
Я юзаю версію 3.10.
Обов'язково при встановленні вкажіть додати в path якщо ви на віндовсі.
Якщо вже встановили то відкрийте командний рядок(віндовс), термінал(мак ос/лінукс) і напишіть там pip install selenium.
Якщо не спрацює спробуйте ту ж команду але замість pip написати pip3, або python -m pip, або python3 -m pip, але перша команда має працювати.
Далі вам треба скачати chromedriver для вашої версії браузера тут.
Якщо вам не лінь розбиратись можете використовувати pycharm але про нього пояснення вже не в цьому пості.

Початок роботи.

Для початку створіть папку(проект) і там створіть файл умовний "main.py".
Пишемо код і розбираємос що він робить.

from selenium import webdriver

Це ми імпортуємо лібу.

driver = webdriver.Chrome()

Просто створюємо змінну через яку ми і будемо керувати браузером.

driver.get("https://duckduckgo.com/")
duckduckgo

Тут ми відкриваємо пошуковик duckduckgo бо гугл просить прийняти їхню політику а це заморочено для першого знайомства.

input_tags=driver.find_elements_by_tag_name("input")
Інструмент для вибору тегів

Тут ми беремо всі елементи з html тегом input це не факт що найкращий та найчистіший метод але він простий.
Щоб подивитись тег натискаєте праву кнопку миші на сторінці і клацаєте перевірити.
Тепер вибираєте інструмент, що знаходиться в правому верхньому куту цеї панелі що відкрилась і клацаєте на те що вам треба.
В цьому випадку перші 2 елементи input це поле для вводу тексту та кнопка пошук.

input_tags[0].send_keys("duckduckgo")
Тег поля вводу

Як я вже казав перший елемент це поле пошуку. В програмуванні індекси з 0.
Тому це номер 0.
send_keys це функція яка пише в поля для вводу якийс текст.
Ми пишемо текст duckduckgo(аналог гуглити слово гугл).

input_tags[1].click()
Тег кнопки пошуку

Під номером 1 кнопка пошуку, тому ми на неї клацеємо.

driver.execute_script("alert('Привіт з підвалу!')")

execute_script може виконати java script код.
Я використовував цю штуку в скрипті який підключав до Phantom гаманець через сід фразу, там я через скрипт ховав фразу щоб її не було видно.
Тут же воно просто висвічує повідомлення.

Результат

От такий міні скрипт у нас вийшов.
Якщо вам цікаво більше, то пишіть в коменти, або почитайте документацію.
Ось повний скрипт:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://duckduckgo.com/")
input_tags=driver.find_elements_by_tag_name("input")
input_tags[0].send_keys("duckduckgo")
input_tags[1].click()
driver.execute_script("alert('Привіт з підвалу!')")

Всім удачі!

Підготовлено каналом: https://t.me/cryptopidval