<div align="right" class="content-jumpmenu" id="searchDiv0">
<select name="menu1" id="menu1">
<input onclick="MM_jumpMenuGo('menu1','window','/ccmadmin', 1)" type="button" value="Go"/>
我需要点击Onclick=MM_JumpMenuGo
按钮。我试过了:
driver.findElement(By.linkText("Go")).click();
driver.findElement(By.cssSelector("input[type='button'][value='Go']")).click();
driver.findElement(By.cssSelector("input#MM_jumpMenuGo)")).click();
这些都没有奏效。我只需要在Selenium中按下那个按钮。请帮我。谢谢。
答案 0 :(得分:1)
你的第二个选择器看起来是正确的。您可以省略单引号:
input[type=button][value=Go]
通常,选择器相当宽泛,可以轻松匹配页面上的其他元素。
以下是备选选择器:
div.content-jumpmenu input[type=button][value=Go]
select#menu1 input[type=button][value=Go]
input[onclick^=MM_jumpMenuGo]
最后一个是搜索带有input
属性值的onclick
元素以 MM_jumpMenuGo
开头。
而且,由于这是一个“跳转菜单”,它可能会通过一些动作激活 - 点击或鼠标悬停在菜单上。你可能也会错过这一步。
显示菜单时可能会有一些动画或延迟。也可能需要明确的等待:
WebDriverWait wait = new WebDriverWait(driver, 5);
WebElement goButton = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("input[onclick^=MM_jumpMenuGo]")));
goButton.click();
答案 1 :(得分:0)
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js = driver as IJavaScriptExecutor;
js.ExecuteScript("MM_JumpMenuGo");