Как использовать Selenium с Python?

Как мне настроить Selenium для работы с Python? Я просто хочу написать / экспортировать скрипты на Python, а затем запустить их. Есть ли ресурсы, которые научат меня, как это сделать? Я попробовал поискать в Google, но обнаруженные материалы касались либо устаревшей версии Selenium (RC), либо устаревшей версии Python.

3 ответа

Решение

Вы имеете в виду Selenium WebDriver? Ха....

Условие: установить Python на основе вашей ОС

Установите с помощью следующей команды

pip install -U selenium

И используйте этот модуль в своем коде

from selenium import webdriver

Вы также можете использовать многие из следующих при необходимости

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException

Вот обновленный ответ

Я бы порекомендовал вам запустить скрипт без IDE... Вот мой подход

  1. Используйте IDE для поиска xpath объекта / элемента
  2. И используйте find_element_by_xpath(). Click()

Пример ниже показывает автоматизацию страницы входа

#ScriptName : Login.py
#---------------------
from selenium import webdriver

#Following are optional required
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException

baseurl = "http://www.mywebsite.com/login.php"
username = "admin"
password = "admin"

xpaths = { 'usernameTxtBox' : "//input[@name='username']",
           'passwordTxtBox' : "//input[@name='password']",
           'submitButton' :   "//input[@name='login']"
         }

mydriver = webdriver.Firefox()
mydriver.get(baseurl)
mydriver.maximize_window()

#Clear Username TextBox if already allowed "Remember Me" 
mydriver.find_element_by_xpath(xpaths['usernameTxtBox']).clear()

#Write Username in Username TextBox
mydriver.find_element_by_xpath(xpaths['usernameTxtBox']).send_keys(username)

#Clear Password TextBox if already allowed "Remember Me" 
mydriver.find_element_by_xpath(xpaths['passwordTxtBox']).clear()

#Write Password in password TextBox
mydriver.find_element_by_xpath(xpaths['passwordTxtBox']).send_keys(password)

#Click Login button
mydriver.find_element_by_xpath(xpaths['submitButton']).click()

Есть еще один способ найти xpath любого объекта -

  1. Установите Firebug и Firepath дополнения в Firefox
  2. Открыть URL в Firefox
  3. Нажмите F12, чтобы открыть экземпляр разработчика Firepath
  4. Выберите Firepath в нижней части браузера и выберите "xpath"
  5. Переместить курсор мыши на элемент на веб-странице
  6. в текстовом поле xpath вы получите xpath объекта / элемента.
  7. Скопируйте Вставьте xpath в скрипт.

Запустить скрипт -

python Login.py

Вы также можете использовать селектор CSS вместо xpath. Селекторы CSS в большинстве случаев немного быстрее, чем xpath, и обычно предпочтительнее, чем xpath (если в элементах, с которыми вы взаимодействуете, нет атрибута ID).

Firepath также может захватывать локатор объекта как CSS-селектор, если вы подведете курсор к объекту. Вам придется обновить ваш код, чтобы использовать вместо него эквивалентный метод поиска с помощью селектора CSS -

find_element_by_css_selector(css_selector) 

Существует множество источников селена - вот хороший пример для простого использования Selenium, а также приведенный ниже фрагмент кода Примеры Selenium

Вы можете найти много хороших источников, чтобы использовать селен, его не так сложно настроить и начать использовать.

Вам просто нужно импортировать пакет селена, который вы можете сделать из командной строки с помощью команды

pip install selenium

Когда вам нужно использовать его в любой среде IDE, просто импортируйте этот пакет, никакой другой документации не требуется для импорта

Например:

import selenium 
print(selenium.__filepath__)

Это просто общая команда, которую вы можете использовать для начала проверки пути к файлу селена.

У меня есть другое решение. Вы можете использовать несколько полезных IDE, таких как Pycharm, и когда вы используете эту IDE, вам не нужны некоторые сложные способы, такие как pip-install. Итак, этот код будет поддерживаться простым способом:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
Другие вопросы по тегам