故事:
在 StackOverflow 这里,我看到用户报告说,他们不能通过 selenium WebDriver 的“ click”命令单击一个元素,而是可以通过执行脚本使用 JavaScript 单击来解决这个问题。
Python 中的示例:
element = driver.find_element_by_id("myid")
driver.execute_script("arguments[0].click();", element)
WebDriverJS/量角器中的例子:
var elm = $("#myid");
browser.executeScript("arguments[0].click();", elm.getWebElement());
问题:
为什么单击“ via JavaScript”可以工作,而常规的 WebDriver 单击却不能?什么时候会发生这种情况,这种变通方法的缺点是什么(如果有的话) ?
我个人在没有完全理解为什么我必须这样做以及它会导致什么问题的情况下使用了这个变通方法。