Selen kann nicht klicken Sie auf element, weil andere element verschleiert

Set-up

Bin ich mit Python 3.x und Selen, füllen Sie ein Abfrage-Feld und klicken anschließend auf den suchen-button,

# element containing the product search bar and buttons
search_area = el_id('Products').find_element_by_class_name('searchArea')

# insert name of file to be duplicated
name_field = search_area.find_element_by_xpath("//input[@type='text']")
name_field.clear()
name_field.send_keys('to_be_duplicated')  

# click search button
search_area.find_element_by_xpath('span/a[1]').click()

wo el_id(x) = browser.find_element_by_id(x).


Problem

Ausführen der obige code gibt die folgende Fehlermeldung,

ElementClickInterceptedException: Element <a class="button button-fleft searchButton" href="#"> is not clickable at point (577.6166763305664,225.06666564941406) because another element <div class="blockUI blockOverlay"> obscures it

Kann ich das lösen dieser Fehler durch das einfügen eines hart warten Sie, bevor Sie packte und auf den button, so

# click search button
time.sleep(1)
search_area.find_element_by_xpath('span/a[1]').click()

Sondern ich löse es anders, so folgte ich diese Antwort und habe die folgenden,

# click search button
search_button = search_area.find_element_by_xpath('span/a[1]')
WebDriverWait(driver, 10).until_not(EC.visibility_of_element_located((By.XPATH, 
"//*[@id="Products"]/tbody/tr[1]/td/div/input")))
search_button.click()

Aber ich habe genau den gleichen Fehler.

Ich habe auch versucht diese Antwort, aber der gleiche Fehler.

Wie löse ich dieses?

Bitte geben Sie eine minimale reproduzierbare Beispiel
Möglich, Duplikat der Element MyElement ist nicht anklickbar am Punkt (x, y)... Andere element, Sie empfangen klicken
Dank DebanjanB! In der end-nr.5 haben es geschafft! wait.until(EC.invisibility_of_element_located((By.XPATH, "//div[@class='blockUI blockOverlay']"))) und dann el_xp("//input[@value='Save']").click().

InformationsquelleAutor LucSpan | 2018-04-19

Schreibe einen Kommentar