@LIJaByXa Ну так там в Проверить существование элемента и есть Селекторы элемента.
На выбор три варианта CSS - MATCH - IXPAT
Вот Мэйтч он может так то и по Словам искать.
Хотя Икспат тоже :)))
Это уже надо вам изучать сами Селекторы и их разновидности.
Пример >XPATH> //*[text()="слово"]
Где слово там нужное и надо вписать.
Оно везде по разному.
Но вот Икспат лучше изучать и более конкретный Селектор можно создать.
Давненько тут Fox подсказал это:
https://docs.google.com/document/d/1PdfKMDfoqFIlF4tN1jKrOf1iZ1rqESy2xVMIj3uuV3g/pub
Браузер, прокси и tcp
-
@fluffik said in Браузер, прокси и tcp:
Есть прокси которые ограничиваются потоками на основе tcp соединений и собственно вопрос в том можно ли каким-то магическим способом заставить браузер баса жрать не 15 потоков а 1, как на пост гете?
Нет, можно только по максимуму запретить запросы в браузере. Такие прокси мало подходят для браузера, либо нужно проплачивать большое число доступных потоков.
-
@fluffik said in Браузер, прокси и tcp:
Есть прокси которые ограничиваются потоками на основе tcp соединений и собственно вопрос в том можно ли каким-то магическим способом заставить браузер баса жрать не 15 потоков а 1, как на пост гете?
Вероятно, можно поставить между прокси-провайдером и BAS, load-balancer, который будет ограничивать кол-во соединений к прокси-провайдеру и ставить в очередь запросы от BAS .
BAS browser -->> haproxy TCP load balancer with limits and queue --> proxy provider
Смотри подробнее https://www.haproxy.com/blog/protect-servers-with-haproxy-connection-limits-and-queues/, по ссылке как раз написано про лимиты и очереди запросов, что ожидают выполнения.
-
@UserTrue said in Браузер, прокси и tcp:
@sergerdn В итоге скорей всего сайт не загрузится нормально потому что большая часть запросов закончится таймаутом
Не уверен, надо тестировать. Надо подбирать timeout на стороне браузера BAS и haproxy. Уверен, что задача решаема в большинстве случаев.
https://peter.sh/experiments/chromium-command-line-switches/#timeout
-
@sergerdn said in Браузер, прокси и tcp:
@UserTrue said in Браузер, прокси и tcp:
@sergerdn В итоге скорей всего сайт не загрузится нормально потому что большая часть запросов закончится таймаутом
Не уверен, надо тестировать. Надо подбирать timeout на стороне браузера BAS и haproxy. Уверен, что задача решаема в большинстве случаев.
https://peter.sh/experiments/chromium-command-line-switches/#timeout
Это не тот таймаут. Запрос ресурсов сайта и просто fetch запросы будут крашиться из-за таймаута
-
@UserTrue said in Браузер, прокси и tcp:
@sergerdn said in Браузер, прокси и tcp:
@UserTrue said in Браузер, прокси и tcp:
@sergerdn В итоге скорей всего сайт не загрузится нормально потому что большая часть запросов закончится таймаутом
Не уверен, надо тестировать. Надо подбирать timeout на стороне браузера BAS и haproxy. Уверен, что задача решаема в большинстве случаев.
https://peter.sh/experiments/chromium-command-line-switches/#timeout
Это не тот таймаут. Запрос ресурсов сайта и просто fetch запросы будут крашиться из-за таймаута
Так напиши "тот" самый timeout. Ты так уверенно пишешь, как будто уже протестировал предложенное мной решение с haproxy. Как писал выше - надо тестировать.
-
@sergerdn said in Браузер, прокси и tcp:
Так напиши "тот" самый timeout. Ты так уверенно пишешь, как будто уже протестировал предложенное мной решение с haproxy. Как писал выше - надо тестировать.
Я просто прочитал внимательно описание того что ты нашел.
Issues a stop after the specified number of milliseconds. This cancels all navigation and causes the DOMContentLoaded event to fire. ↪Проще говоря это не увеличит ожидания выполнения запросов.
-
@UserTrue said in Браузер, прокси и tcp:
@sergerdn said in Браузер, прокси и tcp:
Так напиши "тот" самый timeout. Ты так уверенно пишешь, как будто уже протестировал предложенное мной решение с haproxy. Как писал выше - надо тестировать.
Я просто прочитал внимательно описание того что ты нашел.
Issues a stop after the specified number of milliseconds. This cancels all navigation and causes the DOMContentLoaded event to fire. ↪
Вероятно, я не внимательно прочитал описание конкретно это параметра. Спасибо, что указал мне на это.
Какие твои предложения по увеличение времени ожидания запроса на стороне браузера BAS? -
@sergerdn said in Браузер, прокси и tcp:
Вероятно, я не внимательно прочитал описание конкретно это параметра. Спасибо, что указал мне на это.
Какие твои предложения по увеличение времени ожидания запроса на стороне браузера BAS?У меня их нет ) Я обычно пишу на запросах в таком случае. Еще можно пробросить dns для сайта на свой сервер, а так делал в командой строке есть такая опция, я каждый поток пробрасывал на свой порт и там уже распределял трафик, но это больше про кэширование и подмену данных.
-
@UserTrue said in Браузер, прокси и tcp:
Еще можно пробросить dns для сайта на свой сервер, а так делал в командой строке есть такая опция, я каждый поток пробрасывал на свой порт и там уже распределял трафик, но это больше про кэширование и подмену данных.
Интересное решение через dns. Я чтобы манипулировать контентом ставил man-in-the-middle прокси между BAS и прокси провайдером.
-
@sergerdn said in Браузер, прокси и tcp:
@UserTrue said in Браузер, прокси и tcp:
Еще можно пробросить dns для сайта на свой сервер, а так делал в командой строке есть такая опция, я каждый поток пробрасывал на свой порт и там уже распределял трафик, но это больше про кэширование и подмену данных.
Интересное решение через dns. Я чтобы манипулировать контентом ставил man-in-the-middle прокси между BAS и прокси провайдером.
Я прямо из бас в node запустил самописный сервер и на него пробрасывал ))
-
@sergerdn said in Браузер, прокси и tcp:
@fluffik said in Браузер, прокси и tcp:
Есть прокси которые ограничиваются потоками на основе tcp соединений и собственно вопрос в том можно ли каким-то магическим способом заставить браузер баса жрать не 15 потоков а 1, как на пост гете?
Вероятно, можно поставить между прокси-провайдером и BAS, load-balancer, который будет ограничивать кол-во соединений к прокси-провайдеру и ставить в очередь запросы от BAS .
BAS browser -->> haproxy TCP load balancer with limits and queue --> proxy provider
Смотри подробнее https://www.haproxy.com/blog/protect-servers-with-haproxy-connection-limits-and-queues/, по ссылке как раз написано про лимиты и очереди запросов, что ожидают выполнения.
Я протестировал идею. У меня работает, пробовал загружать пачку сайтов в цикле, сходу не словил каких-то ошибок. В том числе тыкал по всем ссылкам на https://www.amazon.com/. На стороне BAS никаких timeouts не настраивал.
Я настроил proxy ip в BAS на свой сервер, на своем сервере поставил haproxy и прикрутил лимит соединений к прокси-провайдеру.
Схема идеи осталась той же:
BAS browser -->> haproxy TCP load balancer with limits and queue --> proxy providerСтатистика соединений:
Config haproxy:
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners stats timeout 30s user haproxy group haproxy daemon # Default SSL material locations ca-base /etc/ssl/certs crt-base /etc/ssl/private # See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256 ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http listen stats bind :8080 mode http stats enable stats hide-version stats realm Haproxy\ Statistics stats uri / stats auth SomeUsername:SomePassword frontend front_proxy_1 mode tcp maxconn 20000 bind :22225 default_backend back_proxy_1 backend back_proxy_1 mode tcp balance leastconn timeout queue 30s server s1 zproxy.lum-superproxy.io:22225 maxconn 15 -
@UserTrue said in Браузер, прокси и tcp:
@sergerdn Ну прикольно, тогда ему надо тестить на конкретном сайте, тут еще зависит от скорости прокси и сайта, есть такие что тонну запросов шлют
Можно в haproxy дополнительно заблокировать запросы к сайтам с аналитикой и подобным, чтобы не нагружать прокси-провайдера. Это тоже может как-то помочь.
-
@sergerdn а локально это возможно сделать? а что если много проксей, но порты только разные? И можно если не затруднит инструкцию для не программистов?в идеале видео)) куда тыкнуть что вставить))) В басе то я разбираюсь а как приходит код то тут уже не моя консинстенция
-
@fluffik said in Браузер, прокси и tcp:
@sergerdn а локально это возможно сделать?
Haproxy windows не поддерживает.
@fluffik said in Браузер, прокси и tcp:
@sergerdn а что если много проксей, но порты только разные?
Дописать в конфигурации haproxy нужные порты по образцу. Можно как руками, так и набросать не сложный скрипт для этого, если портов много.
@fluffik said in Браузер, прокси и tcp:
@sergerdn И можно если не затруднит инструкцию для не программистов?в идеале видео)) куда тыкнуть что вставить)))
Думаю, что это можно сделать, но это выходит за рамки бесплатной помощи коллеге на форуме.
@fluffik said in Браузер, прокси и tcp:
@sergerdn В басе то я разбираюсь а как приходит код то тут уже не моя консинстенция
Могу предложить учиться и повышать свой личный уровень как программиста. Есть еще вариант нанять человека, кто сделает эту работу за тебя.
Или ищи другое решение твоей задачи, отличное от моего, который ты сможешь реализовать. Я выше написал решение, как делал бы я, если стояла такая задача. Вероятно, мое решение не единственное существующее.