Как настроить Selenium для работы с Python? Я просто хочу писать/экспортировать скрипты в Python, а затем запускать их. Есть ли какие-то ресурсы, которые научат меня, как это сделать? Я попробовал поиск по Google, но я обнаружил, что он ссылался на устаревшую версию Selenium (RC) или устаревшую версию Python.
Как использовать Selenium с Python?
Ответ 1
Вы имеете в виду 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... Вот мой подход
- ИСПОЛЬЗОВАТЬ IDE, чтобы найти xpath объекта/элемента
- И используйте 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 любого объекта -
- Установите Firebug и Firepath в Firefox
- Открыть URL в Firefox
- Нажмите F12, чтобы открыть экземпляр разработчика Firepath
- Выберите Firepath в нижней части панели браузера и выберите "xpath",
- Перемещение курсора мыши на элемент на веб-странице
- в текстовом поле xpath вы получите xpath объекта/элемента.
- Скопировать Вставить xpath в скрипт.
Запустить скрипт -
python Login.py
Вы также можете использовать селектор CSS вместо xpath. Селекторы CSS в большинстве случаев немного быстрее, чем xpath, и обычно предпочитаются по сравнению с xpath (если атрибут ID не используется для элементов, с которыми вы взаимодействуете).
Firepath может также захватить локатор объекта как селектор CSS, если вы переместите курсор на объект. Вам нужно будет обновить свой код, чтобы вместо этого использовать эквивалентную находку с помощью метода выбора CSS -
find_element_by_css_selector(css_selector)
Ответ 2
Существует много источников для селена - здесь хорошо для простого использования Selenium, и вот примерный фрагмент Примеры селена
Вы можете найти много хороших источников для использования селена, это не слишком сложно, чтобы настроить его и начать использовать его.
Ответ 3
У меня есть другое решение. Вы можете использовать некоторые полезные 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