from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
import time
url = 'https://discord.com/channels/1097401827202445382/1097674067601010709'
# driver
driver = webdriver.Chrome()
driver.get(url)
print('your manual authorization, the script is waiting for 30 seconds')
time.sleep(30)
try:
print('find and click element button friends')
button_element = driver.find_element(By.XPATH, '//*[@id="app-mount"]/div[2]/div[1]/div[1]/div/div[2]/div/div/div/div/div[3]/section/div/div[2]/div[4]')
button_element.click()
except NoSuchElementException:
print('error: element button friends not found')
time.sleep(5)
driver.quit()
exit()
time.sleep(5)
try:
print('find scroll element')
element = driver.find_element(By.XPATH, '//*[@id="app-mount"]/div[2]/div[1]/div[1]/div/div[2]/div/div/div/div/div[3]/div[2]/div[2]/aside/div')
except NoSuchElementException:
print('error: scroll element not found')
time.sleep(5)
driver.quit()
exit()
print('move cursor to element')
action = ActionChains(driver)
action.move_to_element(element).perform()
print('scroll down')
driver.execute_script('arguments[0].scrollTop += 300', element)
print('mission complete, thanks to Uncle Misha')
time.sleep(5)
print('exit')
driver.quit()
# your manual authorization, the script is waiting for 30 seconds
# find and click element button friends
# find scroll element
# move cursor to element
# scroll down
# mission complete, thanks to Uncle Misha
exit
имеется ли у wp что-то похожее на инфоблоки битрикса? Куда нужно копать, чтобы их найти?
function true_register_post_type_init() {
$labels = array(
'name' => 'Лиды',
'singular_name' => 'Лид',
'add_new' => 'Добавить лид',
'add_new_item' => 'Добавить лид',
'edit_item' => 'Редактировать лид',
'new_item' => 'Новый лид',
'all_items' => 'Все лиды',
'search_items' => 'Искать лиды',
'not_found' => 'Лидов по заданным критериям не найдено.',
'not_found_in_trash' => 'В корзине нет лидов.',
'menu_name' => 'Лиды'
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => false,
'has_archive' => false,
'menu_icon' => 'dashicons-email-alt2',
'menu_position' => 2,
'supports' => array( 'title', 'editor' )
);
register_post_type( 'lead', $args );
}
add_action( 'init', 'true_register_post_type_init' );
его рекомендуют оборачивать тегом articleТут нужно дать ссылку на эту рекомендацию, чтобы мы могли её оценить не на уровне "Рабинович по телефону напел".
его можно использовать в любом другом месте, а как использовать комментарий на другом сайтеКогда говорят об использовании "в любом месте", подразумевают "любое место данного сайта". И в рамках сайта комментарий действительно может быть оторван от условного рецепта: например, в профиле пользователя может выводиться список всех его комментариев (как здесь) или в сайдбаре может выводиться список всех последних комментариев (как на vc.ru).
если мы отрываем комментарий от статьи он ведь теряет весь смыслНа основе многих лет модерирования этого сайта могу вам сказать, что комментарий комментарию рознь. Некоторые жемчужины, наоборот, непонятно как оказались под каким-нибудь посредственным вопросом, и их можно хоть в Лувр вешать отдельно от всего.
было бы неплохо понять на каком этапе присваиваются эти ключи и перезаписать имеющиеся куки на новые
import requests
from http.cookiejar import CookieJar
# initial cookies
initial_cookies = {}
session = requests.Session()
session.cookies = CookieJar()
# set cookies
session.cookies.update(initial_cookies)
# post
response = session.post(
'https://seller-supply.wildberries.ru/ns/sm-supply/supply-manager/api/v1/supply/listSupplies',
headers=headers,
json=json_data,
)
# get updated cookies
updated_cookies = session.cookies.get_dict()
# check new cookies
if initial_cookies != updated_cookies:
print("Свежее печенье.")
print("Старье:", initial_cookies)
print("Новье:", updated_cookies)
else:
print("Свежее печенье не завозилось, расходимся.")
был бы рад если кто-нибудь объяснит как в принципе присваиваются куки
class Parent:
known_children = [] # список классов-потомков Parent
@staticmethod
def register(klass): # декоратор для регистрации классов-потомков
Parent.known_children.append(klass)
return klass
@classmethod
def can_handle(cls, data): # "эй, потомок, ты можешь себя создать из этих данных?"
raise NotImplementedError()
@staticmethod
def make(data): # создаёт экземпляр одного из потомков
for child in Parent.known_children:
if child.can_handle(data): # потомок согласился обработать данные?
return child(data) # вызываем конструктор класса-потомка
else: # относится к for ... in !
raise TypeError(f'Никто не знает, что делать с этим:\n{data!r}')
# тут остальная начинка класса
...
# а это пример потомка
@Parent.register # явная регистрация потомка через декоратор
# так удобнее, потому что так можно создавать промежуточных потомков,
# которые не будут реально использоваться - только в наследовании
class SomeChild(Parent):
@classmethod
def can_handle(cls, data):
return data.get('name', None) == 'SomeChild' # критерий для определения - наш случай или нет?
def __init__(self, data):
self.x = data['x']
self.y = data['y']
c = Parent.make({'name': 'SomeChild', 'x': 42, 'y': 69}) # создаст экземпляр SomeChild
print(c)
try:
Parent.make({'name': 'invalid'}) # потерпит неудачу
except TypeError as err:
print(err)
Нужно ли обычную форму обратной связи лендинга защищать от спам-ботов?
Если да, что можете посоветовать?
публиковать страницы, создавать иерархию страниц, чпу url, какой то слайдер с картинками
небольшое количество услуги в регионе
Нашли компанию, предлагает разработку сайта на WP или на Python+Django (дороже и дольше)
const loadedModule = require('./modulePath/index.js');
loadedModule.counter()
console.log(loadedModule.awesomeValue);
// add a slash at the end of the url for categories
function add_url_slash_from_categories() {
global $wp_rewrite;
$wp_rewrite->category_base = 'category/';
$wp_rewrite->tag_base = 'tag/';
$wp_rewrite->flush_rules();
}
add_action('init', 'add_url_slash_from_categories');
// add a slash at the end of the url of all urls, excluding files
function add_url_slash($url) {
if (!preg_match('/\.[a-zA-Z0-9]+$/', $url)) {
$url = trailingslashit($url);
}
return $url;
}
add_filter('add_url_slash', 'add_slash_to_all_urls');
# set 301 redirects for all urls without a slash at the end to a slash
RewriteEngine On
RewriteBase /
RewriteRule ^category/(.*)$ /category/$1/ [R=301,L]
RewriteRule ^tag/(.*)$ /tag/$1/ [R=301,L]
1) Как мне использовать питон код в javascript коде сайта
2) Как я могу вносить изменения на работающую html страницу, аналогично работе javascript кода, написанного выше
Владелец сайта и (или) страницы сайта в сети "Интернет", и (или) информационной системы, и (или) программы для электронных вычислительных машин, являющийся российским юридическим лицом или гражданином Российской Федерации и осуществляющий свою деятельность в сети "Интернет" на территории Российской Федерации, в случае, если доступ к информации, размещенной на его сайте и (или) странице сайта в сети "Интернет", и (или) в его информационной системе, и (или) программе для электронных вычислительных машин, предоставляется пользователям, прошедшим авторизацию, обязан проводить ее в отношении пользователей, находящихся на территории Российской Федерации, одним из следующих способов:
- с использованием абонентского номера оператора подвижной радиотелефонной связи в порядке...
- ЕСИА...
- ЕБС...
- с использованием иной информационной системы, обеспечивающей авторизацию пользователей сайтов и (или) страниц сайтов в сети "Интернет"...
Т.е. единственный выход выходит сервисы которые каким-то образом ассоциируют IP со страной/регионом/городом и делятся этой информацией по подписке, либо предоставляют готовую БД, но у неё проблема в потере актуальности со временем