#python #selenium #webdriver
#python #selenium #webdriver
Вопрос:
Примечание: это может быть скорее «мета» проблема понимания документации, а не конкретная проблема с самими привязками Selenium.
Я смотрю на привязки Selenium Python, и я немного смущен.
Для большинства примеров того, как запустить простой экземпляр браузера, требуется что-то вроде этого:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("www.google.com")
Теперь я смотрю на объект webdriver.firefox и вижу, что с этим объектом связаны четыре метода! Я уверен, что должно быть больше, чем это. Где, например, .get()
в моем примере?
Итак, я начинаю осматриваться и вижу, что есть куча методов, которые я могу использовать для webdriver.Firefox()
объекта в webdriver.remote. Но, похоже, это не имеет смысла? Я не использую webdriver.remote
? Почему все эти методы здесь?
Наконец, мое замешательство усугубляется тем фактом, что существует selenium.selenium , в котором есть множество интересных и мощных методов, но я понятия не имею, как их использовать. Тогда не работайте с webdriver.Firefox()
объектом, так как же мне их использовать? Почему они никогда не появляются ни в каких примерах?
Ответ №1:
webdriver.Firefox() на самом деле является webdriver.firefox.WebDriver.
Просто взгляните на код в selenium/webdriver/__init__.py и selenium/webdriver/firefox/webdriver.py , который многое наследует от класса RemoteWebDriver.
Также есть краткое введение в привязки selenium python. Получайте удовольствие!
Комментарии:
1. Спасибо! Из интереса, если я это сделаю
from selenium import webdriver
, а затем укажу «несмещенный» путь:browser = webdriver.firefox.webdriver.WebDriver()
, он работает нормально, но если я это сделаюimport selenium
, то выполнениеbrowser = selenium.webdriver.firefox.webdriver.WebDriver()
не распознается?