ElementClickInterceptedException: Message: элемент не активен в точке (x, y), потому что другой элемент скрывает его - PullRequest
1 голос
/ 06 октября 2019

Привет, я продолжаю получать сообщение об ошибке, ElementClickInterceptedException: Сообщение: Элемент не активен в щелчке в точке (x, y), потому что другой элемент скрывает его

Я пробовал много обходных путей, включая задержку, и ничего не кажетсяработать. Я попробовал некоторые из решений здесь: Selenium Web Driver & Java. Элемент не кликабелен в точке (x, y). Другой элемент получит щелчок

, после чего я получу новую ошибку "не могу прокрутить вниз"

Оцените любую помощь. Вот мой код:

from selenium import webdriver
import time

    browser = webdriver.Firefox()
    browser.get('https://keepa.com/#!')
    browser.implicitly_wait(2)
#login to site
    isbn = browser.find_element_by_id('panelUserRegisterLogin').click()
    isbn = browser.find_element_by_id('username')
    isbn.send_keys('xxxx')
    isbn = browser.find_element_by_id('password')
    isbn.send_keys('xxxx')
    isbn = browser.find_element_by_id('submitLogin').click()
  #open search bar and lookup asin

    isbn = browser.find_element_by_id('menuSearch').click()
    isbn = browser.find_element_by_id('searchInput')
    isbn.send_keys(xxxx)
    isbn.submit()

1 Ответ

1 голос
/ 06 октября 2019

Как я упоминал ранее, дубликат элемента не активируется в точке (x, y) , где можно найти подробные причины и объяснение ошибки.
Вот правильный код:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec

browser = webdriver.Chrome()
wait = WebDriverWait(browser, 5)

browser.get("https://keepa.com/#!")

#login to site
wait.until(ec.element_to_be_clickable((By.ID, "panelUserRegisterLogin"))).click()
browser.find_element_by_id("username").send_keys("xxxx")
browser.find_element_by_id("password").send_keys("xxxx")
browser.find_element_by_id("submitLogin").click()

#open search bar and lookup asin
wait.until(ec.invisibility_of_element_located((By.ID, "loginOverlay")))
wait.until(ec.element_to_be_clickable((By.ID, "showSearchBar"))).click()

search_input = wait.until(ec.element_to_be_clickable((By.ID, "searchInput")))
search_input.send_keys("xxxx")
search_input.submit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...