我正在为我的项目使用 Selenium Webdriver。我有一个网页,其中有多个菜单项,而这些菜单项又包含子菜单项。我想用“”(空格)替换 nav-left-main div 标签下所有子元素的 classname 属性,以便所有元素在主页中都可见以供单击(而不是导航到每个菜单->子菜单) 基本上我想找到 id=main 下具有类名的所有元素并将它们替换为 ''。我如何使用 selenium webdriver 中的 JavaScriptExecutor 来做到这一点?
<div id="nav-left-main">
<div>
<a class="left-nav-icons icomoon-icon-users3 " title="Users" href="#Users-tab">
<div id="Users-sub" class="nav-left-subnav">
<div id="Users-tab" class="hidden-menu">
<ul class="level3menu">
<li>
<i class="cm-icon18 iconfont-arrow-sans-right" style="margin-top:-2px;margin-left:-17px;"></i>
<a>Users</a>
<ul class="second-level-hidden-menu" style="margin-left:5px;margin- top:10px;">
<ul class="second-level-hidden-menu" style="margin-left:5px;margin-top:10px;">
<ul class="second-level-hidden-menu" style="margin-left:5px;margin-top:10px;">
</li>
</ul>
<ul>
<li>
<a id="AdminGroups" class="$item.className" title="" href="cms?action=groupList&pageTitle=Groups">Groups</a>
</li>
</ul>
<ul>
</div>
</div>
</div>
最佳答案
这可能对你有用:
var main_div = document.getElementById("nav-left-main");
var all_childs = main_div.getElementsByTagName("*"); // get all child elements
for (var i=0; i<all_childs.length; i++)
{
if ( all_childs[i].hasAttribute("class") ) all_childs[i].className = ""; // or all_childs[i].removeAttribute("class")
}
关于javascript - 替换javascript中所有具有classname属性的子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36070520/