Skip to content

Instantly share code, notes, and snippets.

View moonzlo's full-sized avatar
:electron:
path of full stack

Mikhail moonzlo

:electron:
path of full stack
View GitHub Profile
@moonzlo
moonzlo / sselenium lifehack
Last active August 19, 2019 22:43
selenium contextmanager
@contextmanager
def selen(driver_patch: str, profile_patch: str, config='windows') -> webdriver.Chrome:
"""
Самый удобный метод использования веб драйвера =)
:param driver_patch: str: patch to chromedriver(exe)
:param profile_patch: str: the path to the folder storing cookies
:param config: str: operating system
:return: webdriver.Chrome
"""
@moonzlo
moonzlo / steik_tests
Created June 19, 2019 19:43
pytest practic
import pytest
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import math
links = [ # Список ссылок на тестируемые страницы
@moonzlo
moonzlo / Keybase proof
Created June 14, 2019 16:37
Keybase proof
### Keybase proof
I hereby claim:
* I am moonzlo on github.
* I am moonz (https://keybase.io/moonz) on keybase.
* I have a public key ASB8tJsmYi6Cf7M0uJMfSH04imnSmnORix9L6-fABPFsFwo
To claim this, I am signing this object:
@moonzlo
moonzlo / selenium cookies dump
Created June 8, 2019 01:41
getCookies and sendCookies
# Load
import pickle
import selenium.webdriver
driver = selenium.webdriver.Firefox()
driver.get("http://www.google.com")
pickle.dump( driver.get_cookies() , open("cookies.pkl","wb"))
import pickle
import selenium.webdriver
@moonzlo
moonzlo / lxml_html
Created June 1, 2019 21:55
lxml example
tree = etree.HTML(html)
for block in tree.xpath("//div[@class='product']"):
img = block.xpath("//img/@src")[0]
name = block.xpath("//tr[@class='name']")[0].text
id = block.xpath("//tr[@class='id']")[0].text
@moonzlo
moonzlo / fabrik
Created May 28, 2019 17:49
Паттерн Абстрактная фабрика
from __future__ import annotations
from abc import ABC, abstractmethod
class AbstractFactory(ABC):
"""
Интерфейс Абстрактной Фабрики объявляет набор методов, которые возвращают
различные абстрактные продукты. Эти продукты называются семейством и связаны
темой или концепцией высокого уровня. Продукты одного семейства обычно могут
взаимодействовать между собой. Семейство продуктов может иметь несколько
@moonzlo
moonzlo / context
Last active May 27, 2019 08:40
Контекстный менеджер (класс)
class File(object):
def __init__(self, filename, flag):
self.filename = filename
self.flag = flag
def __enter__(self):
print('Взял файл и открыл')
self.open_file = open(self.filename, self.flag)
return self.open_file
@moonzlo
moonzlo / country_graph.ipynb
Last active January 12, 2019 11:27
графика
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@moonzlo
moonzlo / getSocers
Last active September 14, 2018 09:20
parsing
import requests, json, time, winsound
from bs4 import BeautifulSoup
# очищаем консоль от мусора в виде результатов
# проигрываем звук при появлении ссылки
frequency = 670 # Set Frequency To 2500 Hertz
duration = 1000 # Set Duration To 1000 ms == 1 second
saveResult = []