Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Selenium. Есть ли альтернативы? стоит ли с ним работать через python api? [RSS Feed]

#1 Дек. 6, 2012 07:21:19

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Selenium. Есть ли альтернативы? стоит ли с ним работать через python api?

Здравствуйте. Есть потенциальная задача работать с сайтом через selenium. Делать тесты…
Если кто-либо работал с ним, подскажите пжлст, есть ли на чистом питоне альтернатива?
Стоит ли работать с selenium через python api? какие могут быть минусы при таком варианте?
Сам я есстественно щас всё это поставил и гугл…

Офлайн

#2 Дек. 7, 2012 16:49:19

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Selenium. Есть ли альтернативы? стоит ли с ним работать через python api?

windmill, но он умер и автор вроде как сам юзает selenium
так что без вариантов

Отредактировано slav0nic (Дек. 7, 2012 16:49:34)

Офлайн

#3 Дек. 7, 2012 21:24:36

d1ffuz0r
От: Moscow
Зарегистрирован: 2011-03-25
Сообщения: 127
Репутация: +  5  -
Профиль   Отправить e-mail  

Selenium. Есть ли альтернативы? стоит ли с ним работать через python api?

вместо стандартного webdriver возьмите webdriverplus

Офлайн

#4 Дек. 10, 2012 00:03:38

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Selenium. Есть ли альтернативы? стоит ли с ним работать через python api?

Спасибо!

Помогите ситуацию прояснить, пжлст. В родном модуле селениума есть драйвера HtmlUnit/HtmlUnitWithJS.
Документацию webdriverplus прочитал полностью, в поддерживаемых драйверах нету HtmlUnitWithJS(скорее всего с ним и придётся работать).
Может там этот драйвер как то обёрнут по своему?
Если -нет, то есть приемлимые способы обхода этой ситуации?

И сильно ли уступает реализация python API реализации Java API?

Пока писал, посмотрел код повнимательнее…
Вот начало класса HtmlUnit в webdriverplus(причем класс _Remote наследуется из родного пакета selenium):

from selenium.webdriver.remote.webdriver import WebDriver as _Remote
class HtmlUnit(WebDriverMixin, _Remote):
    _selenium = 'selenium-server-standalone-2.22.0.jar'
    _selenium_url = 'http://selenium.googlecode.com/files/' + _selenium
    _auto_install = True
    def __init__(self, *args, **kwargs): # ведь можно переопределить этот метод?
        self._perform_auto_install()
        self._autorun_selenium_server()
        super(HtmlUnit, self).__init__("http://localhost:4444/wd/hub",
                                       DesiredCapabilities.HTMLUNIT, **kwargs)
    # остальные методы ...

Если сделать так, получится ли ожидаемая поддержка яваскрипт???:
test1.py
from webdriverplus import HtmlUnit
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
class myHtmlUnitWithJS(HtmlUnit):
    def __init__(self, *args, **kwargs):
        super(HtmlUnit, self).__init__("http://localhost:4444/wd/hub",
            DesiredCapabilities.HTMLUNITWITHJS, **kwargs) # Просто заменил предпочтение...

Отредактировано buddha (Дек. 10, 2012 00:16:51)

Офлайн

#5 Дек. 11, 2012 06:42:09

d1ffuz0r
От: Moscow
Зарегистрирован: 2011-03-25
Сообщения: 127
Репутация: +  5  -
Профиль   Отправить e-mail  

Selenium. Есть ли альтернативы? стоит ли с ним работать через python api?

честно говоря не пробовал HtmlUnitWithJS, только Chrome/Firefox/Opera. в питоновской версии я не нашёл методов ждущих появление элемента, в либе Java и документации они есть, поэтому пришлось писать свой костыль (в webdriverplus он уже есть)

Офлайн

#6 Дек. 11, 2012 09:57:53

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Selenium. Есть ли альтернативы? стоит ли с ним работать через python api?

А названия этих методов не скажете(из webdriverplus)?

Отредактировано buddha (Дек. 11, 2012 09:58:37)

Офлайн

#7 Дек. 11, 2012 11:27:02

d1ffuz0r
От: Moscow
Зарегистрирован: 2011-03-25
Сообщения: 127
Репутация: +  5  -
Профиль   Отправить e-mail  

Selenium. Есть ли альтернативы? стоит ли с ним работать через python api?

оно включено по умолчанию https://github.com/tomchristie/webdriverplus/blob/master/webdriverplus/selectors.py#L72

ещё помогает метод implicitly_wait у сессии http://seleniumhq.org/docs/04_webdriver_advanced.html#implicit-waits, нам было его достаточно, но нужно подогнать под браузер. фф медленнее грузит страницы, но js стабильно работает. хром быстро грузит страницы, но js не всегда успевает загрузиться и бывают глюки

Офлайн

#8 Дек. 11, 2012 11:32:23

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Selenium. Есть ли альтернативы? стоит ли с ним работать через python api?

благодарю…

Офлайн

#9 Дек. 14, 2012 15:43:31

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Selenium. Есть ли альтернативы? стоит ли с ним работать через python api?

> честно говоря не пробовал HtmlUnitWithJS, только Chrome/Firefox/Opera. в питоновской версии я не нашёл методов ждущих появление элемента

А это не оно? http://selenium.googlecode.com/svn/trunk/docs/api/py/webdriver_support/selenium.webdriver.support.wait.html

Офлайн

#10 Дек. 14, 2012 18:54:31

Hello_world
Зарегистрирован: 2012-10-04
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Selenium. Есть ли альтернативы? стоит ли с ним работать через python api?

Возможно, phantomjs(ghost.py)

Офлайн

  • Начало
  • » Web
  • » Selenium. Есть ли альтернативы? стоит ли с ним работать через python api?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version