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()
try:
driver.get('https://dzen.ru/')
iframe = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "iframe.dzen-search-arrow-common__frame"))
)
driver.switch_to.frame(iframe)
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "input.arrow__input.mini-suggest__input"))
)
print(element) # <selenium.webdriver.remote.webelement.WebElement (session="5e3642980c7d8fcb1b687f3c9a716998", element="f.15CF8DCC914EA871801192FF570A26AF.d.A418C847E39359367688E91E0850A734.e.5")>
element.send_keys("Найдено!")
time.sleep(20)
finally:
driver.quit()
С какого количества записей индексация имеет смысл?
Сделал выборку по определенному имени, вышло 75-90 мсек.
SELECT name FROM users WHERE name='Mike';
Добавил индекс CREATE INDEX name_idx ON users (name);
Выборка так и осталась в пределах 75-85 мсек.
class My_ReviewsListTable extends Automattic\WooCommerce\Internal\Admin\ProductReviews\ReviewsListTable {
public function get_review_count($product_id) {
$args = [
'post_type' => 'product_review',
'post_status' => 'publish',
'meta_query' => [
[
'key' => 'custom_field',
'compare' => 'NOT EXISTS',
],
],
'fields' => 'ids',
];
if($product_id) {
$args['meta_query'][] = [
'key' => '_product_id',
'value' => $product_id,
'compare' => '=',
];
}
$query = new WP_Query($args);
return $query->found_posts;
}
}
какие локальные (которые в одном файле) базы данных это поддерживают?
function test() {
global $product;
if($product->get_price() == 0 || $product->get_price() == '') {
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 99);
remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10);
}
}
add_action('woocommerce_single_product_summary', 'test', 99);
add_action('woocommerce_after_shop_loop_item', 'test', 99);
не понимаю как обеспечить разделенное хранение и связь условного объекта (пусть json)
обеспечить изменяемость данных
и защиту ключевых данных от изменения
выбирают ЛУЧШЕЕ(результативное) объявление в группе и прекращают показы остальных объявлений для этой аудитории.
Обычная структура Рекламной кампании: Кампания -> Группа объявлений (таргетинг) -> Объявления
$(function() {
$(window).on("click", e => {
$('.header-nav-list-item.subnav').each(function() {
const $subMenu = $(this).find(".header-nav-list-subnav-menu");
const isVisible = e.target === this || $.contains(this, e.target);
$subMenu.toggle(isVisible);
// if (!isVisible) $subMenu.hide();
});
});
});
Если на сервере будет один несчастный ботик, который не использует других библиотек, а также threading и т.п., есть ли смысл в 2-3-4 ядрах?
Я хочу отредактировать тему Вордпресса, распространяемую под лицензией GNU General Public License v2.
Я могу использовать эту модифицированную тему для своего сайта в интернете? Как сделать это правильно, чтобы избежать юридических казусов?
Мне кажется, что использование модифицированной темы на сайте в интернете не является распространением, так ли это?
Вопрос - а как сейчас принято делать веб-дизайн?
неужто исключительно в текстовом редакторе?
Как в случае ошибки получить данный текст ("Совпадений не найдено") на стороне клиента, с помощью JS?
fetch('//site.com/api/v1/send')
.then((response) => {
// error handler
if (!response.ok) {
return response.text().then((text) => throw new Error(text));
}
return response.json();
})
.then((data) => console.log('Свежая инфа: ', data))
.catch((error) => console.error('ОшибкО:', error.message));
этот вопрос у меня относится к удобству чтения кода и просмотра сайта другими пользователями, чтобы они удостоверились в разработке на React.
От такого способа не будет видно, что применялся Реакт?
console.log(document.getElementsByClassName('child2')) // HTMLCollection
// old
Array.from(document.getElementsByClassName('child2')).forEach((el) => {
el.textContent = 'Измененная строка 2';
});
// new
document.querySelectorAll('.child2').forEach((el) => {
el.textContent = 'Измененная строка 2';
});
а через Postman все как работало, так работает
# response = requests.post("https://securepay.tinkoff.ru/v2/Init", data=data_json, headers=headers)
response = requests.post("https://securepay.tinkoff.ru/v2/Init", json=data, headers=headers)
const Icon = ({title, href, active}) => {
const className = active ? 'active' : '';
return (
<Link href={href} className={`svgh m-auto ${className}`}>
{/* svg */}
</Link>
);
}
'use client'
import React, {useState, useEffect} from 'react';
import Icon from './icons/Icon';
const links = [
{href: '#home_anchor', svgIcon: 'home'},
{href: '#user_anchor', svgIcon: 'user'}
// others
];
const Navbar = () => {
const [activeLink, setActiveLink] = useState('');
useEffect(() => {
const handleScroll = () => {
// logic scroll
}
// add anchor
window.addEventListener('scroll', handleScroll);
// remove anchor from unmount
return () => window.removeEventListener('scroll', handleScroll)
}, []);
return (
<nav className="flex flex-col fixed bg-gray-800 align-center">
{links.map((l) => (
<Icon href={l.href} key={l.svgIcon} title={l.svgIcon} active={activeLink === l.href}/>
))}
</nav>
);
}
<section>
<div ref={tables} className={style.tableWrapper}>
{isLoading ? createTable(currentTable) : createTable(table)}
</div>
</section>