java中的selenium无法点击href =“javascript:void;”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的selenium无法点击href =“javascript:void;”相关的知识,希望对你有一定的参考价值。
这是我正在处理的一段代码。我正在尝试点击子菜单。
<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;
}
答案
- 单击Accounts Dashboard
Accounts Dashboard的href中的
javascript:void(0);
返回undefined。当试图点击这样的链接时,执行单击并且没有获得方法返回值。这给人的印象是不执行单击。使用JavascriptExecutor jsexec = (JavascriptExecutor) driver; jsexec.executeScript("arguments[0].click();", submenu);
而不是submenu.click();
- 单击“帐户组” Selenium单击此链接并将href#one1附加到URL,确认已执行单击。
以上是关于java中的selenium无法点击href =“javascript:void;”的主要内容,如果未能解决你的问题,请参考以下文章
Selenium Webdriver (Java) 无法点击 AJAX 按钮
点击 Selenium + Python 无法滚动到视图中的链接的方式是啥?
为啥不可点击,但 execute_script 有意义。 href 中的 Python、Selenium、JS [重复]