Selenium Webdriver-元素未找到Javascript生成的菜单
Selenium Webdriver - Element not found Javascript Generated Menu
我有一个Javascript生成的菜单。我已经尝试使用xpath定位此菜单,但出现错误"NoSuchElemetFound"。我在这里的目标是按下javascript生成的菜单或执行菜单的命令(就像你真正点击菜单一样)。
菜单位于隐藏的div标记中。
这是这个javascript菜单调用的命令:
parent.navFrame.gotoURL('url');
以下是我当前不起作用的代码:
WebElement menu = driver.findElement(By.xpath("html/body/span/div[11]/div/div"));
WebElement parentMenu = driver.findElement(By.xpath("html/body/table/tbody/tr/td[6]/a/img"));
Actions builder = new Actions(driver);
builder.moveToElement(parentMenu).moveToElement(menu).click().build().perform();
和这个
Actions builder = new Actions(driver);
((HasInputDevices) driver).getMouse();
builder.moveToElement(driver.findElement(By.xpath("html/body/table/tbody/tr/td[6]/a/img"))).build().perform();
driver.findElement(By.xpath("html/body/table/tbody/tr/td[6]/a/img")).isSelected();
Thread.sleep(1000L);
builder.moveToElement(driver.findElement(By.xpath(".//*[@id='menuItem101']"))).build().perform();
driver.findElement(By.xpath(".//*[@id='menuItem101']")).click();
Thread.sleep(1000L);
请帮帮我。谢谢
我已经看到webdriver不能在隐藏字段中键入,所以也可能是不能单击隐藏元素的情况。
如果是这种情况,一个潜在的解决方法是执行javascript
((IJavaScriptExecutor)driver).ExecuteScript("$('#theDivInQuestion').click()");
上面的例子需要JQuery,但如果JQuery在页面上不可用,则可以将其转换为常规java脚本
菜单位于隐藏的div标记中。
如果元素被隐藏,则WebDriver无法单击它。
即使菜单是隐藏的,您也可以通过以下代码段单击它。
WebElement we = driver.findElement(By.xpath(xpathtotheELEMENT));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", we);
相关文章:
- 日期选择器使用所有字段的下拉菜单JavaScript和JQuery W/O日历
- 上下文菜单 JavaScript 无法获取所选文本,如果文本是输入标签/文本框
- 活动状态菜单 JavaScript
- 下拉菜单 JavaScript
- 下拉菜单 - Javascript 与仅 CSS - 选择哪个桌面 - 移动兼容性
- Dropline菜单JavaScript延迟
- 下拉菜单javascript函数
- 为什么菜单JavaScript效果不起作用
- 检查菜单链接是否有子菜单JavaScript
- 菜单Javascript多级重叠
- Twitter引导下拉菜单javascript
- onmouseout的问题-简单的下拉菜单Javascript
- 幻灯片菜单Javascript不工作
- 可点击下拉菜单javascript
- 下拉菜单Javascript
- 可折叠菜单javascript问题
- disabled和selected在自定义选择选项菜单(Javascript)中不起作用
- 下拉菜单-javascript下拉菜单,用于更改表中的所有下拉菜单
- 下拉菜单 - Javascript val() 用于选择框未正确链接
- 下拉菜单 - Javascript:关于使用 javascript 创建下拉列表的问题