当前位置: 首页 > 知识库问答 >
问题:

selenium-子菜单单击“不工作”

邴俊民
2023-03-14

我无法单击子菜单。。尝试使用不同的xpath/id。。。。。

下面是html标签,主菜单是演示文稿(用红色箭头标记),子菜单在div下。

您能告诉我如何为此编写xpath吗。我想单击子菜单中的“假设”。

这里主菜单标签位于div(子菜单)的底部。

另附硒代码。请帮帮我。。。。

@Test
public void hypothetical() 
{

    WebElement ic =  driver.findElement(By.id("presentations"));
    Actions act = new Actions(driver);
//  act.moveToElement(ic).click().build().perform();
    //act.moveToElement(ic).doubleClick().build().perform();
act.moveToElement(ic).clickAndHold().release().build().perform();
//ic.click();
    //driver.switchTo().window(myWindowHandle);

//  driver.findElement(By.linkText("Hypothetical")).click();
// driver.findElement(By.xpath("//div[2][@id='presentations']/a[1]")).click();

//Actions act = new Actions(driver);
    try {
        Thread.sleep(3000);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

//  WebElement hyp=driver.findElement(By.partialLinkText("Hypothetical"));

WebElement hyp=driver.findElement(By.id("//div[@id='presentations']/a[1]"));
//act.moveToElement(hyp).click().build().perform();


hyp.click();

共有2个答案

储俊英
2023-03-14
driver.findElement(By.id("presentations")).click();
WebElement hyp = driver.findElement(By.id("hypothetical"));
hyp.click();
燕琨
2023-03-14

使用以下代码:

 //Click on main menu that will opens the sub Menu list
 WebElement ic =  driver.findElement(By.id("presentations"));

 ic.click();

如果您的要求是单击每个单独的子菜单项,则使用以下代码:单击以获取假设的is:

 ic.findElement(By.id("hypothetical")).click();

单击此处可查看以下配置文件:

ic.findElement(By.id("profile")).click();

  (Or)

您还可以一次获取所有子菜单项,如下所示:

 //Get all the sub menu list.
 List<WebElement> list = ic.findElements(By.tagName("a"));
 for(int i=0;i < list.size; i++){
     WebElement subMenuElement = list.get(i);
     subMenuElement.click();
 }
 类似资料:
  • 我不能点击子菜单项使用selenium网络驱动程序使用c#。我正在使用IE9和FireFox 13。我尝试过Action Builder,但它不起作用。它给出了一个错误,说元素不能被单击。 我甚至使用了javascript:js。ExecuteScript(“return$(\”a:contains('ID1')\”).mouseover();”;//鼠标移动到主菜单 webDriver。Find

  • 自从我升级到最新的Selenium版本后,我的Firefox驱动程序无法正常工作。在Google/Stack搜索中找不到答案,我希望这里有人有答案。 我已经构建了一个页面对象模型,用于登录网页,单击管理站点并填写用户名/密码+提交。这段代码是为Selenium 2.53.6编写的,但仍然适用于IE和Chrome。对我来说,失败的部分是这行代码: 定位器是: 我使用这个网站来练习我的硒:http:/

  • 我有一个点击单选按钮的代码,一开始我用的是Chrome。使用下面的代码: 我发现了一个错误: 做研究的时候,我把代码改成: 当我单击单选按钮时,标签会在单击时获得一个附加属性。 其他编辑: 这组按钮如下所示:

  • 在测试我的Web应用程序时,我无法单击菜单项(创建缺陷…),如图所示 下面的代码点击图像(手部图像),如图所示 然后菜单打开。现在我想单击菜单项。我正在为此使用下面的代码 但我得到了上面提到的例外。 这是我在网页上的内容: 你能建议一下吗?

  • 嗨,我正在尝试自动启动下拉菜单。默认情况下,它的可见性是隐藏的。将鼠标悬停在它上面时,它的可见性属性显示为可见。我可以单击下拉菜单,但是在单击下拉菜单后,我的selenium脚本不能从下拉菜单中选择值。 错误:线程"main"org.openqa.selenium.ElementNotVisibleException异常:无法单击元素 HTML代码段

  • 我有一个菜单,其中有li(列表)元素,当你鼠标悬停一个特定的标签后启用。 此代码正在正确执行鼠标悬停,但无法单击“登录链接”链接。尽管手动检查元素是否可见 DOM结构-