#python #python-3.x #selenium #selenium-chromedriver
Вопрос:
Я пытаюсь извлечь данные из этой кнопки, но она вызывает следующую ошибку: selenium.common.исключения.Исключение ElementNotInteractableException: Сообщение: элемент не поддается взаимодействию.
Исходный код кнопки:
<button class="Blockreact__Block-sc-1xf18x6-0 Buttonreact__StyledButton-sc-glfma3-0 bqHBns jFqMrE ActionButtonreact__StyledButton-sc-7jpoey-0" type="button"><div class="Blockreact__Block-sc-1xf18x6-0 Flexreact__Flex-sc-1twd32i-0 olSpy jYqxGr"><i value="add" size="24" class="Iconreact__Icon-sc-1gugx8q-0 irnoQt material-icons">add</i></div></button>
Мой код:
browser.find_element_by_xpath("//button[@type='button']")
Страница: Добавить элемент на https://opensea.io/asset/create
Комментарии:
1. Ваш браузер запущен в полноэкранном режиме ?
2. Нет, я не пытался работать в полноэкранном режиме. Должен ли я?
3. Да, попробуйте, это может решить вашу проблему
4. Даже если другие функции селена работают?
5. попробуйте использовать
full xpath
; и сообщите мне результат
Ответ №1:
Так как расширение браузера не работает для вас.
Вы пробовали с цепями действий ?
from selenium.webdriver.common.action_chains import ActionChains
ActionChains(driver).move_to_element(browser.find_element_by_xpath("//i[@value='add']/../..")).click().perform()
Комментарии:
1. Спасибо за ответ, но он все равно вызвал selenium.common.исключения. Исключение NoSuchElementException:Сообщение: такого элемента нет: Не удается найти элемент: {«метод»:»xpath»,»селектор»:»//кнопка[@type=»кнопка» и текст()=»добавить»]»}
2. хорошо, раньше у нас была
selenium.common.exceptions.ElementNotInteractableException:
ошибка, похоже, мы ее преодолели, но теперь сNoSuchElementException:Message
помощью for//button[@type='button' and text()='add']
мне нужно будет увидеть ваш HTML. Можете ли вы поделиться соответствующим HTML, я вижу, что вы поделились, но можете ли вы поделиться немного большим количеством внешнего HTML ?3. хорошо , вы можете попробовать вместо этого использовать этот xpath
//i[@value='add']/../..
, см. Также обновление выше.4. Извините, что отвечаю так поздно, кстати, я получаю эту ошибку: selenium.common.исключения. Исключение MoveTargetOutOfBoundsException: Сообщение: (1312, 1177) находится за пределами ширины окна просмотра (1920) и высоты (1080)
5. Я почти забыл об этой проблеме, могу ли я получить URL-адрес ?
Ответ №2:
Нажмите на кнопку, а не на значок. xpath:
.//body/div[1]/div[1]/main/div/div/section/div[2]/form/section[6]/div[1]/div/div[2]/button
Вы также можете использовать пакет ожиданий элемента, чтобы убедиться, что кнопка доступна для взаимодействия в первую очередь
wait.until(ExpectedConditions.visibilityOfElementLocated(by));
wait.until(ExpectedConditions.elementToBeClickable(by));
Затем нажмите