不幸的是,Webdriver似乎并不擅长处理问题中所述的情况。不过,您有两种选择。使用JavaScript模拟点击:
JavascriptLibrary jsLib = new JavascriptLibrary();
jsLib.callEmbeddedSelenium(selenium,"triggerMouseEventAt", elementToClick,"click", "0,0");
要么
((JavascriptExecutor) driver).executeScript("arguments[0].click();", elementToClick);
或者,您可以使用动作来尝试单击菜单链中的所有元素。不幸的是,我发现这是不可靠的。
我有一个脚本,可以检测菜单链中是否存在某个元素,如果按所需顺序单击该元素,最后可以单击用户想要的那个元素(如果需要),我可以将其张贴在某个地方,但是它不美观或短。