WebDriver click() a JavaScript click()

| | | | | |

Historia:

Tutaj na StackOverflow widziałem użytkowników zgłaszających, że nie mogą kliknąć elementu za pomocą polecenia „kliknij” selen WebDriver i mogą obejść go za pomocą JavaScript kliknij, wykonując skrypt.

Przykład w Pythonie:

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

Przykład w WebDriverJS/Protractor:

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

Pytanie:

Dlaczego klikasz „przez JavaScript” działa, gdy zwykłe kliknięcie WebDriver nie działa? Kiedy dokładnie tak się dzieje i jaka jest wada tego obejścia (jeśli istnieje)?

Osobiście korzystałem z tego obejścia, nie rozumiejąc w pełni, dlaczego mam aby to zrobić i jakie problemy może to prowadzić.