WebDriver click() versus JavaScript click()

| | | | | |

Het verhaal:

Hier op StackOverflow heb ik gebruikers zien melden dat ze niet op een element kunnen klikken via de selenium WebDriver-opdracht "klik" en er omheen kunnen werken met een JavaScript-klik door een script uit te voeren.

Voorbeeld in Python:

element = driver.find_element_by_id("myid") driver.execute_script("arguments[0].click( );", element) 

Voorbeeld in WebDriverJS/Protractor:

var elm = $("#myid"); browser.executeScript("argumenten [0].click();", elm.getWebElement()); 

De vraag:

Waarom klikt u op "via JavaScript" werkt wanneer een normale WebDriver-klik niet werkt? Wanneer gebeurt dit precies en wat is het nadeel van deze tijdelijke oplossing (indien aanwezig)?

Ik heb deze tijdelijke oplossing persoonlijk gebruikt zonder volledig te begrijpen waarom ik om het te doen en tot welke problemen het kan leiden.