mss.mss()
- обязательно ли каждую итерацию захватывать экран заново?time.sleep(0.05) # Проверяем цвет каждые 100 мс
- что то не клеится в Ваших показаниях, на основание чего указано 50мс?Tenacity is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just about anything. It originates from a fork of retrying which is sadly no longer maintained.
import requests
from tenacity import retry, stop_after_attempt, wait_fixed
@retry(stop=stop_after_attempt(3), wait=wait_fixed(3))
def fetch():
res = requests.get("https://site.ru")
# res = requests.get("https://site.ru", params={"key": "value"})
if res.status_code != 200:
raise requests.exceptions.HTTPError(res.status_code)
data = res.json()
return data
# return data["link"]
print(fetch())
wait=wait_fixed(3)
- ждать 2 секунды между попытками.stop=stop_after_attempt(3)
- остановка после 3х попыток.
Выдаёт ошибку:
Traceback (most recent call last):
line 46, in
for m in n.values():
AttributeError: 'int' object has no attribute 'values'
Подскажите как посчитать сумму элементов в данном словаре
def best_function(d):
sum = 0
for v in d.values():
if isinstance(v, dict):
sum += best_function(v)
else:
sum += v
return sum
print(best_function(dct)) # 3906
Вручную можно сделать через настройку "Разрешить сайтам показывать небезопасный контент" с указанием ссылки на web ui, но не понимаю как это можно реализовать в коде.
cursor.execute("SELECT dollars FROM users WHERE id=?", (message.from_user.id,))
res = cursor.fetchone()
if res:
debet = res[0]
await message.answer(f"Ваш айди: {message.chat.id}\nБаланс: {debet}")
else:
await message.answer("Не знаем таких.")
for item in response.json()['Employees']:
first_name = item["User"]["FullName"]["FirstName"]
last_name = item["User"]["FullName"]["LastName"]
if "MiddleName" in item["User"]["FullName"]:
middle_name = item["User"]["FullName"]["MiddleName"]
else:
middle_name = "отчество отсутствует"
print(f"Имя: {first_name}, фамилия: {last_name}, отчество: {middle_name}")
# Имя: Иван, фамилия: Иванов, отчество: Иванович
# Имя: Петр, фамилия: Петров, отчество: отчество отсутствует
# EC.presence_of_element_located((By.CSS_SELECTOR, "product-slider__img js-product-current-img"))
EC.presence_of_element_located((By.CSS_SELECTOR, ".product-slider__img.js-product-current-img"))
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
options = Options()
service = Service(r'D:\project\chromedriver-130.0.6723.93.exe')
driver = webdriver.Chrome(service=service, options=options)
url = 'https://superstep.ru/product/NCFSW0W288YW_GRA/#colorGRA'
driver.get(url)
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, ".product-slider__img.js-product-current-img"))
)
page_html = driver.page_source
print(page_html)
except TimeoutException:
print("Элемент не найден")
finally:
print('Программа завершена')
driver.quit()
from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
options = Options()
service = Service(r'D:\project\geckodriver.exe')
driver = webdriver.Firefox(service=service, options=options)
url = 'https://superstep.ru/product/NCFSW0W288YW_GRA/#colorGRA'
driver.get(url)
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, ".product-slider__img.js-product-current-img"))
)
page_html = driver.page_source
print(page_html)
except TimeoutException:
print("Элемент не найден")
finally:
print('Программа завершена')
driver.quit()
your_secret_key
, скорее всего в ЛК этого сайта.your_secret_key
полученный ключ из п1, вместо остальных - в API руководстве написано, что нужно.import requests
# Подставить нужные данные из API руководства
params = {
'key': '?',
'hash_name': '?',
'id': '?',
'price': '?',
}
# GET запрос на сервер, аналог того, что мы использовали в браузере из п2.
response = requests.get('https://rust.tm/api/v2/buy', params=params)
# Печатаем результат запроса, аналог того, что мы использовали в браузере из п3.
print(response.json())
# В консоль распечатается приблизительно это:
# {
# "success": true,
# "id": "136256960"
# }
# Затем нужно циклом обойти результат с сервера и уже на основание полученных данных - предпринять необходимые действия. Например, пойти пожрать, чем я сейчас как раз и займусь... ;)
import time
# Время берется 1 раз в момент запуска скрипта, чему оно будет равно?
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
# Цикл запущен и проверяет время, которое было взято 1 раз выше, что получится? Получится то, что цикл будет искать время, которое уже истекло.
while True:
time.sleep(1)
if current_time == '16:49:00':
print('text')
# Так, щас 16:49:00?
# Ок, ждем 1 сек...
# Так, щас 16:49:01?
# Ок, ждем 1 сек...
# Так, щас 16:49:02?
# У нас время идет вперед или назад..? Если все таки вперед, то сможет ли оно достигнуть current_time, которое уже меньше, чем ожидаемое время..?
import time
from datetime import datetime
while True:
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
if current_time == '17:15:00':
print('text')
time.sleep(1)
else:
print(f'Нихуа ({current_time})!')
time.sleep(1)
# Нихуа (17:14:56)!
# Нихуа (17:14:57)!
# Нихуа (17:14:58)!
# Нихуа (17:14:59)!
# text
# Нихуа (17:15:01)! <--- Вот здесь оказывается Ваш первоначальный скрипт
# Нихуа (17:15:02)!
# Нихуа (17:15:03)! <--- Мы ждем какое время, 16:49:00?
from typing import Dict, Any
def process(answer, result_json: Dict[str, Any]) -> None:
tmp_json = parse_answer(answer)
result_json['summary_text'] += tmp_json['result']
result_json['tags'].extend(tmp_json['tags'])
result_json['input_size'] += answer.input_size
result_json['output_size'] += answer.output_size
def handler(text: str, max_size: int) -> Dict[str, Any]:
result_json = {'summary_text': '', 'tags': [], 'input_size': 0, 'output_size': 0}
match len(text):
case size if size > max_size:
chunker = TextChunker(maxlen=max_size)
for chunk in chunker.chunk(text):
answer = get_answer(chunk, tags_quantity=1)
process(answer, result_json)
case _:
answer = get_answer(text, tags_quantity=3)
process(answer, result_json)
return result_json
list = ['Да', 'да', 'интересно', 'Интересно']
input = input("Введите текст: ")
if any(w in input for w in list):
print('Одно из слов есть в тексте')
list = ['Да', 'да', 'интересно', 'Интересно']
input = input("Введите текст: ")
match input:
case _ if any(w in input for w in list):
print('Одно из слов есть в тексте')
case _:
print('Здесь нет таких')
данный код не работает
# driver.find_element("xpath", "//input[@id='LinkDa']" ).click
driver.find_element("xpath", "//input[@id='LinkDa']" ).click()
import time
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
driver = webdriver.Chrome()
driver.get('https://autoins.ru/osago/raschet-stoimosti-osago/proverit-kbm/')
# Debug
time.sleep(10)
checkbox = driver.find_element(By.XPATH, '//label[@for="linkDa"]')
checkbox.click()
# Debug
time.sleep(10)
button = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.ID, "btnDa"))
)
button.click()
# Debug
time.sleep(10)
driver.quit()