from selenium import webdriver
driver = webdriver.Chrome("D:\Selenium\chromedriver_win32\chromedriver.exe")
driver.get('https://www.testim.io/')
driver.save_screenshot("screenshot.png")
from typing import NamedTuple
class Result(NamedTuple):
text: str # текст запроса
success: bool # успешен ли запрос
status: str # статус
async def check_text(text: str) -> Result:
url = f'https://сайт.com/?query={text}'
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
if response.status != 200:
return Result(text=text, success=False, status='Не удалось определить результат')
html = await response.text()
soup = BeautifulSoup(html, 'html.parser')
status_element = soup.find('div', class_='table-block')
if not status_element:
return Result(text=text, success=False, status='Не удалось определить результат')
status_text = status_element.get_text().strip()
# тебе нужно будет решить, когда запрос был успешен (True), а когда нет (False)
if "ok" in status_text:
return Result(text=text, success=True, status='Можно')
elif "no" in status_text:
return Result(text=text, success=False, status='Данный вариант недоступен')
elif "no1" in status_text:
return Result(text=text, success=True, status='Можно под заказ')
else:
return Result(text=text, success=False, status='Неизвестно')
result = await check_text(text)
if result.success:
... # реагируем на успешный запрос
logger.info('%s: %s', result.text, result.status)
else:
... # реагируем на неудачный запрос
logger.info('%s: %s', result.text, result.status)
const buttons = $('.btt1, .btt2');
const tabs = $('.rr1, .rr2');
const modes = $('#rych, #autm');
buttons.on('click', function() {
const isManualMode = $(this).is('.btt1');
const buttonText = `Выбран ${isManualMode ? 'ручной' : 'автоматический'} режим`;
buttons.prop('disabled', false)
.removeClass('activvBt')
.html(`Заполнить в ${isManualMode ? 'автоматическом' : 'ручном'} режиме<i class="icon-arr"></i>`);
$(this).prop('disabled', true)
.addClass('activvBt')
.text(buttonText);
tabs.hide().eq(isManualMode ? 0 : 1).show(100);
modes.removeClass('activv').eq(isManualMode ? 0 : 1).addClass('activv');
});
<pre id="cont">0</pre>
<button id="btnStart">start</button>
<pre id="cont2">0</pre>
<button id="btnStart2">start</button>
<script>
btnStart.onclick = function(){
autoCounter('#cont', 0, 10050, 12.7);
};
btnStart2.onclick = function(){
autoCounter('#cont2', 100500, 200000, 300);
};
function autoCounter(selector, from, to, step) {
const container = document.querySelector(selector);
let currValue = from;
tick();
function tick() {
if (currValue < to) {
currValue += step;
if (currValue > to) {
currValue = to;
}
container.textContent = Math.round(currValue);
window.requestAnimationFrame(tick);
}
}
}
</script>
<select id="select"></select>
const select = document.querySelector('#select');
for (let i = 1; i <= 100; i++) {
const option = document.createElement('option');
option.textContent = option.value = i;
select.append(option);
}