Selenium-Wire не может найти элемент даже после ввода правильного XPATH, не загружает полный исходный код ⇐ Python
-
Гость
Selenium-Wire не может найти элемент даже после ввода правильного XPATH, не загружает полный исходный код
Привет всем, у меня есть простой скрипт, который я использую для автоматизации задачи заполнения форм, код-
из веб-драйвера импорта seleniumwire из selenium.webdriver.common.by импортировать из selenium.webdriver.support.ui импортировать WebDriverWait из selenium.webdriver.support импортируйте ожидаемые_условия как EC время импорта URL = 'https://book.housecallpro.com/book/Rapi ... a2d04f395e' драйвер = вебдрайвер.Chrome() driver.get(URL) время.сон(10) ожидание = WebDriverWait (драйвер, 10) add_product_btn = '/html/body/div/div/div/div[2]/div[1]/div/div/div/div/div[1]/div[7]/div[1]/div/div /div/div/div/div/div/div/div[1]/div[3]/div/button/div/div/svg' add_product = wait.until(EC.element_to_be_clickable((By.XPATH, add_product_btn))) add_product.click() # next_btn_xpath = '/html/body/div/div/div/div[2]/div[1]/div/div/div/div/div[2]/div/div/div/div[3]/div /кнопка/дел/дел/диапазон' # next_btn = wait.until(EC.element_to_be_clickable((By.XPATH, next_btn_xpath))) # next_btn.click() драйвер.выйти() Однако, даже если предоставить правильный XPATH элементов, с которыми я хочу взаимодействовать, он не находит их -
Traceback (самый последний вызов — последний): Файл «C:\Users\homep\PJ\freelancer\form-filling-bot\test.py», строка 15, в add_product = wait.until(EC.element_to_be_clickable((By.XPATH, add_product_btn))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ Файл «C:\Users\homep\PJ\freelancer\form-filling-bot\venv\Lib\site-packages\selenium\webdriver\support\wait.py», строка 95, до поднять TimeoutException (сообщение, экран, трассировку стека) selenium.common.Exceptions.TimeoutException: Сообщение: когда я не использую WebDriverWait, выдается NoSuchElementException. Это настоящая боль, я пытался получить доступ к другим элементам, но сценарий все время терпел неудачу, я даже пытался загрузить полный исходный код html, чтобы проверить, есть ли какие-либо проблемы с загрузкой страницы, и, возможно, там потому что он не сохранил полный исходный код с сайта.
Я впервые сталкиваюсь с такой ситуацией: если сайты используют dynamic-js-content для динамической загрузки содержимого страницы, я просто использую Selenium для очистить исходный код страницы или выполнить задачу автоматизации. Можно ли это исправить, если у кого-нибудь есть что-то, что я могу попытаться исправить, это действительно будет полезно, любые идеи, ссылки на документы и т. д. тоже подойдут, любая помощь будет оценена по достоинству, спасибо за ваше время.
Привет всем, у меня есть простой скрипт, который я использую для автоматизации задачи заполнения форм, код-
из веб-драйвера импорта seleniumwire из selenium.webdriver.common.by импортировать из selenium.webdriver.support.ui импортировать WebDriverWait из selenium.webdriver.support импортируйте ожидаемые_условия как EC время импорта URL = 'https://book.housecallpro.com/book/Rapi ... a2d04f395e' драйвер = вебдрайвер.Chrome() driver.get(URL) время.сон(10) ожидание = WebDriverWait (драйвер, 10) add_product_btn = '/html/body/div/div/div/div[2]/div[1]/div/div/div/div/div[1]/div[7]/div[1]/div/div /div/div/div/div/div/div/div[1]/div[3]/div/button/div/div/svg' add_product = wait.until(EC.element_to_be_clickable((By.XPATH, add_product_btn))) add_product.click() # next_btn_xpath = '/html/body/div/div/div/div[2]/div[1]/div/div/div/div/div[2]/div/div/div/div[3]/div /кнопка/дел/дел/диапазон' # next_btn = wait.until(EC.element_to_be_clickable((By.XPATH, next_btn_xpath))) # next_btn.click() драйвер.выйти() Однако, даже если предоставить правильный XPATH элементов, с которыми я хочу взаимодействовать, он не находит их -
Traceback (самый последний вызов — последний): Файл «C:\Users\homep\PJ\freelancer\form-filling-bot\test.py», строка 15, в add_product = wait.until(EC.element_to_be_clickable((By.XPATH, add_product_btn))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ Файл «C:\Users\homep\PJ\freelancer\form-filling-bot\venv\Lib\site-packages\selenium\webdriver\support\wait.py», строка 95, до поднять TimeoutException (сообщение, экран, трассировку стека) selenium.common.Exceptions.TimeoutException: Сообщение: когда я не использую WebDriverWait, выдается NoSuchElementException. Это настоящая боль, я пытался получить доступ к другим элементам, но сценарий все время терпел неудачу, я даже пытался загрузить полный исходный код html, чтобы проверить, есть ли какие-либо проблемы с загрузкой страницы, и, возможно, там потому что он не сохранил полный исходный код с сайта.
Я впервые сталкиваюсь с такой ситуацией: если сайты используют dynamic-js-content для динамической загрузки содержимого страницы, я просто использую Selenium для очистить исходный код страницы или выполнить задачу автоматизации. Можно ли это исправить, если у кого-нибудь есть что-то, что я могу попытаться исправить, это действительно будет полезно, любые идеи, ссылки на документы и т. д. тоже подойдут, любая помощь будет оценена по достоинству, спасибо за ваше время.