故事:
在 StackOverflow 上,我看到用戶報告說他們無法通過 selenium WebDriver“單擊”命令單擊元素,並且可以使用JavaScript 通過執行腳本點擊。
Python 中的示例:
element = driver.find_element_by_id("myid") driver.execute_script("arguments[0].click( );", element)
WebDriverJS/Protractor 中的示例:
var elm = $("#myid"); browser.executeScript("arguments [0].click();", elm.getWebElement());
問題:
為什麼點擊“via JavaScript”在常規 WebDriver 點擊不起作用時有效?這到底是什麼時候發生的,這種解決方法的缺點是什麼(如果有的話)?
我個人使用了這種解決方法,但沒有完全理解為什麼我有這樣做以及它可能導致什麼問題。