1

Ich habe den folgenden Code (br ist der Webdriver und alles ist in Ordnung importiert).Selenium WebDriverWait aber immer noch "Element ist nicht anklickbar"

Die ersten drei Linien arbeiten gut, aber die link1.click() gibt mir noch einen Fehler:

link = WebDriverWait(br, 30).until(EC.element_to_be_clickable((By.ID, "buttonNew Project"))) 
link.click()  
link1 = WebDriverWait(br, 30).until(EC.element_to_be_clickable((By.ID, "MP"))) 
link1.click() 

Und obwohl es bis zu seinen klickbare gewartet haben sollte, bekomme ich immer noch den den Fehler:

WebDriverException: unknown error: Element is not clickable at point (543, 170). Other element would receive the click: <div id="screenBlocker" style="width: 1920px; height: 979px; display: block; background-position: 940px 420px;"></div> 
    (Session info: chrome=49.0.2623.108) 
    (Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Windows NT 6.1 SP1 x86_64)(543, 170) 

Antwort

2

Other element would receive the click: <div id="screenBlocker" st...

screenBlocker klingt wie ein, gut, Screen-Blocker. Sie haben oben auf der Seite ein Popup/Overlay, das Sie schließen müssen, um es unsichtbar zu machen.

Wenn es keine sichtbare Schaltfläche „Schließen“, nur unsichtbar machen auf diese Weise:

blocker = driver.find_element_by_id("screenBlocker") 
driver.execute_script("arguments[0].style = {display: 'none'};", blocker) 
+0

, das funktioniert! aber es ist seltsam, wenn ich die ersten 3 Zeilen ausführen, dann die vierte Zeile eine Sekunde später, ist es in Ordnung, so scheint der ScreenBlocker langsamer als das Element anklickbar ist? – user295944

+0

@ user295944 ja, wahrscheinlich ein Timing-Problem, denke ich. Froh, dass es funktioniert hat. – alecxe

+0

Das hat für ein paar Dinge funktioniert, aber ich habe es mir angesehen: https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/2766 – user295944

Verwandte Themen