Я использую Selenium Wire для мониторинга сетевых запросов при посещении одного и того же веб -сайта несколько раз в одном сеансе селена. У меня есть функция, которая ожидает появления конкретного запроса, и поднимает исключение, если она не: < /p>
class SeleniumExtended:
def __init__(self, driver):
self.driver=driver
self.default_timeout=15
self.misc= misc_selenium(self.driver)
self.original_interceptor = None
def wait_until_request_appeared(self, request_method, request_name, timeout=30):
self.driver.requests.clear()
start_time = time.time()
while time.time() - start_time < timeout:
for request in self.driver.requests:
if request.method == request_method and request_name in request.url:
return request
time.sleep(0.5) #
raise TimeoutException(
f"Desired request '{request_name}' with method '{request_method}' did not appear within {timeout} seconds.")
< /code>
Перед перезагрузкой страницы я использую следующую функцию для очистки старых запросов: < /p>
def clear_requests(self):
self.driver.requests.clear()
< /code>
При первом посещении страницы, если запрос не отображается, wait_until_request_appeared выполняется правильно. Однако после второго посещения, если запрос появился при первом посещении, но не во втором, wait_until_request_appear Вероятно, потому что self.driver.requests.clear () на самом деле не удаляет старые запросы, поскольку функция обнаруживает запрос из предыдущего посещения. < /p>
Как я должен отлаживать это?`extended.wait_until_request_appeared("POST", "callback")
self.driver.get("https://www.flipkart.com/images-nose-3-steao-remove-blackheads-pack-2/p/itmf1cedd4531e1e?pid=FCPGJGGYKJJBRJ9B&lid=LSTFCPGJGGYKJJBRJ9BPWP6VP&marketplace=FLIPKART&cmpid=content_face-pack_8965229628_gmc)`
< /code>
Это для первого экземпляра. Функция проходит, как и ожидалось < /p>
, затем для 2 -го посещения. Где запрос не появляется, и я очищаю запросы перед повторным въездом: < /p>
`
extended.clear_requests()
time.sleep(5)
extended.wait_until_request_appeared("POST", "callback")
self.driver.get("https://www.flipkart.com/images-nose-3-steao-remove-blackheads-pack-2/p/itmf1cedd4531e1e?pid=FCPGJGGYKJJBRJ9B&lid=LSTFCPGJGGYKJJBRJ9BPWP6VP&marketplace=FLIPKART&cmpid=content_face-pack_8965229628_gmc)`
Результат: Функция успешно проходит, когда она не должна;>
Я использую Selenium Wire для мониторинга сетевых запросов при посещении одного и того же веб -сайта несколько раз в одном сеансе селена. У меня есть функция, которая ожидает появления конкретного запроса, и поднимает исключение, если она не: < /p> [code]class SeleniumExtended:
while time.time() - start_time < timeout: for request in self.driver.requests: if request.method == request_method and request_name in request.url: return request
time.sleep(0.5) # raise TimeoutException( f"Desired request '{request_name}' with method '{request_method}' did not appear within {timeout} seconds.") < /code> Перед перезагрузкой страницы я использую следующую функцию для очистки старых запросов: < /p> def clear_requests(self):
self.driver.requests.clear() < /code> При первом посещении страницы, если запрос не отображается, wait_until_request_appeared выполняется правильно. Однако после второго посещения, если запрос появился при первом посещении, но не во втором, wait_until_request_appear Вероятно, потому что self.driver.requests.clear () на самом деле не удаляет старые запросы, поскольку функция обнаруживает запрос из предыдущего посещения. < /p> Как я должен отлаживать это?`extended.wait_until_request_appeared("POST", "callback")
self.driver.get("https://www.flipkart.com/images-nose-3-steao-remove-blackheads-pack-2/p/itmf1cedd4531e1e?pid=FCPGJGGYKJJBRJ9B&lid=LSTFCPGJGGYKJJBRJ9BPWP6VP&marketplace=FLIPKART&cmpid=content_face-pack_8965229628_gmc)` < /code> Это для первого экземпляра. Функция проходит, как и ожидалось < /p> , затем для 2 -го посещения. Где запрос не появляется, и я очищаю запросы перед повторным въездом: < /p> ` extended.clear_requests()
self.driver.get("https://www.flipkart.com/images-nose-3-steao-remove-blackheads-pack-2/p/itmf1cedd4531e1e?pid=FCPGJGGYKJJBRJ9B&lid=LSTFCPGJGGYKJJBRJ9BPWP6VP&marketplace=FLIPKART&cmpid=content_face-pack_8965229628_gmc)` [/code] Результат: Функция успешно проходит, когда она не должна;>
Я вижу java.net.SocketException: Connection Reset почти каждый раз, когда использую оператор driver.close() или driver.quit(). Браузер закрывается, и это исключение пока не влияет ни на один из моих тестов, но мне все равно хотелось бы понять,...
Я вижу java.net.socketException: сброс соединения почти каждый раз, когда я использую Driver.close () или Driver.quit (). Браузер действительно закрывается, и исключение пока не влияет на мои тесты, но я все равно хотел бы понять, почему это...
Я пытаюсь захватить некоторые элементы из HTML-кода определенного URL-адреса.
Когда я копирую и вставляю содержимое HTML непосредственно в свой код Python, это работает хорошо.
import re
Я пытаюсь захватить некоторые элементы из HTML-кода определенного URL-адреса.
Когда я копирую и вставляю содержимое HTML непосредственно в свой код Python, это работает хорошо.
import re
Я перенес установку Shopware 6 на сервер и получаю следующую ошибку.
Параметры «driver» или «driverClass» являются обязательными, если URL-адрес подключения без схемы указан. DriverManager::getConnection(). Указан URL-адрес:...