Peter
09.05.2018
14:12:07
@lig11 С этим разобрался, теперь работает как надо, но не всё
Почему-то не хочет понимать вот это
self._profile.set_preference('browser.link.open_newwindow', 3)
оставляет 2 и ссылки открываются в новых окнах.
Я сделал костыль, который посылает комбинацию кнопок через actions = ActionChains(self._driver) , но это ж как-то не по феншую.
Позволяет ли selenium кликать по элементам, клик по которым реализован javascript’ом?
Аркадий
10.05.2018
05:37:08
Обычный браузер же
Google
МишанЯ
10.05.2018
06:40:14
Я вообще подумал создать клиента для браузерной игры, только вот хрен его знает что там использовать.
По идеи он должен ааторизоваться и держать сессию...слышал про фреймворк на Питоне, говорят с помощью него
Peter
10.05.2018
06:47:32
Я что-то не могу сделать, есть пример? В chrome, по моему xpath'у элемент находит. Пишу через actionChains move и click(), но в реальности валится по timeout'у на поиске элемента.
Sergey
10.05.2018
07:30:26
поиск элемента и click() делаются в одну строчку?
если нет, то элемент мог пропасть. В коде ещё нужно использовать WebdriverWait. Когда дебажишь, или используешь REPL то кажется всё ок, а при автоматическом запуске без WebdriverWait ничего работать не будет
Peter
10.05.2018
07:52:11
А, если несколько однотипных элементов и нужно выбрать один и по нему кликнуть?
элементы без id и имеют одинаковый class
текст может отличаться
Sergey
10.05.2018
08:56:20
я могу ответить только как captaion obvious:
нужно перебором найти нужный элемент по тексту или по порядку и кликнуть
Peter
10.05.2018
09:14:27
т.е. нельзя сначала собрать list элементов одного типа, а потом по нему пройтись, взять нужный элемент и кликнуть?
Dmitry
10.05.2018
10:56:10
https://www.reddit.com/r/Python/comments/8hvzja/backdoor_in_sshdecorator_package/
https://raw.githubusercontent.com/vstinner/conf/master/2018-PyconUS/stable_abi.pdf
Google
Roman
10.05.2018
11:04:20
вообще, за handler.read() надо бить. вообще за любой .read() из сети надо бить.
Dmitry
10.05.2018
11:16:47
Roman
10.05.2018
11:18:06
это если утрировать. на практике такой код скорее всего начнет жрать память как вне себя :)
Vadim
10.05.2018
11:20:59
Roman
10.05.2018
11:26:41
read() у тебя высосет всё в память. вот сколько прилетит - столько и осядет в памяти :)
Dmitry
10.05.2018
11:31:13
я посмотрел в API - там чанками, но только если в заголовках есть Transfer-Encoding: chunked
а если есть content-length то он читает чанками по 1 МБ
а вот если ни того ни другого нет то приплыли
Ilia
10.05.2018
11:50:15
Используйте requests, там уже всё есть http://docs.python-requests.org/en/master/api/#requests.Response.iter_content
Peter
10.05.2018
12:06:15
Какой правильный путь в selenium переключать контекст на новый таб?
Допустим открываю я его так:
def open_in_tab(self, item, focus_to_tab=False):
"""Open item in tab"""
# Define the control_key by system platform
# For MacOS should be COMMAND key, others would be CONTROL key
control_key = Keys.COMMAND if sys.platform == 'darwin' else Keys.CONTROL
actions = ActionChains(self._driver)
actions.key_down(control_key)
# Set focus to new tab
if focus_to_tab:
actions.key_down(Keys.LEFT_SHIFT)
actions.click(item)
if focus_to_tab:
actions.key_up(Keys.LEFT_SHIFT)
actions.key_up(control_key)
actions.perform()
Но, потом нужно в него переключить контекст селениума
Если делать так, то без какого-нибудь time.sleep(3) оно не правильно работает.
windows = self._driver.window_handles
self._driver.switch_to.window(windows[len(windows) - 1])
На что вешать
WebDriverWait(self._driver, 10).until(EC.presence_of_element_located((By.XPATH, element_xpath)))
МишанЯ
10.05.2018
12:41:52
Ребят, для создания клиента браузерной игры какой фреймворк хорошо подойдёт?
Ruslan
10.05.2018
12:51:07
pixijs, есть phaser, но он все равно на pixijs, есть easeljs
Это 2d
Это для рендера спрайтов. Для gui используй знакомые вещи вроде vue/angular/react
Dmitry
10.05.2018
16:33:38
https://github.com/xgi/castero
Google
Dmitry
10.05.2018
16:33:39
podcast client for the command line
сначала увидел думал это от @magniff )))
ты же похожее для vk писал)
https://github.com/magniff/inmelody
Aleksandr
10.05.2018
16:34:46
ну даЮ апи прикрыли же волки позорные
Dmitry
10.05.2018
16:34:51
угу(
Sergey
10.05.2018
16:44:03
Aleksandr
10.05.2018
16:45:05
лисп в питоне чтоб делать nlp
Dmitry
10.05.2018
16:45:38
когда очень любишь lisp
Dmitry
10.05.2018
16:45:45
а ещё у нас кажется снова будет что пожевать, но это неточно
Sergey
10.05.2018
16:45:47
Dmitry
10.05.2018
16:45:58
ну и готовим некий интерактив для вас новый
кароч регайтесь
Dmitry
11.05.2018
07:22:58
клёвая презенташка Виктора Стинера с PyconUS 2018: python3 10 years later:
https://fosdem.org/2018/schedule/event/python3/attachments/slides/2163/export/events/attachments/python3/slides/2163/python3_10years_later.pdf
смешной слайд)
Eugene
11.05.2018
07:48:49
Valery
11.05.2018
07:53:18
Eugene
11.05.2018
07:54:49
Google
Roman
11.05.2018
11:23:42
http://www.brendangregg.com/usemethod.html
Dmitry
11.05.2018
13:43:49
основательный подход
Roman
11.05.2018
14:11:30
http://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html
Dmitry
11.05.2018
14:31:21
о да! это классная)
МишанЯ
12.05.2018
13:00:01
Кто может подсказать про парсинг посредтвом python?
Andrey
12.05.2018
13:00:27
парсинг чего?
МишанЯ
12.05.2018
13:00:41
Парсинг сайтов
Andrey
12.05.2018
13:01:17
наерное имеет смысл сразу написать вопрос...?
Marco
12.05.2018
13:01:51
МишанЯ
12.05.2018
13:02:23
На даннный момент баловался с BS4 и requests. Вроде удобно как. Но узнал, что есть и такие как Grab и прочие для парсинга...С чем комфортнее работать и возможности более?
Marco
12.05.2018
13:04:41
МишанЯ
12.05.2018
13:04:52
Ну и конечно же весомый фактор наличия рускоязычной документации
Yuryi
12.05.2018
13:05:46
ват ? русская дока как причина выбора инструмента ?
разницы не будет
Marco
12.05.2018
13:07:17
МишанЯ
12.05.2018
13:08:13
python то с азов только наал уползать
Andrey
12.05.2018
13:14:34
можно пояснить про "наал уползать"?
МишанЯ
12.05.2018
13:15:26
начал уползать с изучения азов, хочу углубленно...вот думаю в сторону парсинга
Google
Marco
12.05.2018
13:33:22
b0g3r
12.05.2018
13:34:16
подтверждаю
Marco
12.05.2018
13:39:44
Без английского никуда, т.к. модулям/классам/переменным нужны вменяемые названия. Nakladnaya, glavnvaya, и podval любой код превращают в мусор.
Этим, кстати, не только русскоговорящие грешат. Испанцы те ещё любители всяких fecha, codigo, и nombre.
Sergey
12.05.2018
14:23:19
Dmitry
12.05.2018
14:25:49
Marco
12.05.2018
14:27:40
Dmitry
12.05.2018
14:28:04
эти я бы не переводил