java中的selenium无法单击a href=";javascript:void(0)&引用;

java中的selenium无法单击a href=";javascript:void(0)&引用;,javascript,java,selenium-webdriver,bootstrap-accordion,Javascript,Java,Selenium Webdriver,Bootstrap Accordion,这是我正在处理的一段代码。我正在尝试单击子菜单 <ul class="accordion"> <li id="one1" class="files"> <a href="#one1">Accounts</a> <ul class="sub-menu"> <li> <a href="#one1" onClick="loadTabv2('a

这是我正在处理的一段代码。我正在尝试单击子菜单

<ul class="accordion">
     <li id="one1" class="files">
       <a href="#one1">Accounts</a>
       <ul class="sub-menu">
       <li>

               <a href="#one1" onClick="loadTabv2('accounts/LoadAccountGroupMaster',
                  'Account Group','accounts_account_group');"><img src="layouts/static/image/micons/account_group.png">Account Group</a>

               <a href="#one1" onClick="loadTabv2('accounts/AccountingPeriod',
                  'Accounting Period','account_accounting_period');"><img src="layouts/static/image/micons/accounting_period.png">Accounting Period</a>

                   <a href="javascript:void(0);" onClick="loadTab('accounts/LoadAccountMaster',
                 'Account Master','account_account_master');"> <img src="layouts/static/image/micons/account_master.png">Account Master</a>

                   <a href="javascript:void(0);" onClick="loadTab('accounts/AccountsDashboard',
                 'Accounts Dashboard','accounts_dashboard');"> <img src="layouts/static/image/micons/accounts_dashboard.png">Accounts Dashboard</a>

                   <a href="javascript:void(0);" onClick="loadTab('accounts/AccountSettings',
                 'Account Settings','accounts_account_settings');"> <img src="layouts/static/image/micons/account_settings.png">Account Settings</a>
我正在尝试单击“帐户组”和“帐户”仪表板。这两个仪表板都没有收到单击。我尝试了此代码,但失败

List<WebElement> submenus=driver.findElements(By.xpath("//li[@id='one1']//li//a"));
 for (WebElement submenu: submenus) {
System.out.println("values of each submodule : 
"+submenu.getAttribute("innerHTML"));
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
if (submenu.getAttribute("innerHTML").contains("Accounts Dashboard")) {
  submenu.click();
  break;
}
List submenus=driver.findElements(By.xpath(“//li[@id='one1']//li//a”);
用于(WebElement子菜单:子菜单){
System.out.println(“每个子模块的值:
“+子菜单.getAttribute(“innerHTML”);
driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
if(submenu.getAttribute(“innerHTML”).包含(“帐户仪表板”)){
子菜单。单击();
打破
}
  • 单击帐户仪表板

    javascript:void(0);
    在帐户仪表板的href中返回未定义的。当尝试单击此类链接时,会执行单击,并且不会获得任何方法返回值。这会给人一种没有执行单击的印象。请使用

    JavascriptExecutor jsexec=(JavascriptExecutor)驱动程序;
    jsexec.executeScript(“参数[0]。单击();”,子菜单);

    而不是
    子菜单。单击();

  • 单击帐户组

    Selenium单击此链接,并将href#one1附加到URL,确认已执行单击


  • 你在日志中看到了什么?