javascript - 替换javascript中所有具有classname属性的子节点

标签 javascript selenium webdriver

我正在为我的项目使用 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/

相关文章:

javascript - 如何为 watir webdriver 执行 javascript 以更改跨度 ID 内的文本

javascript - 如何在mvc中自动重定向后删除特定历史记录

javascript - 当我重定向时,存储在 localStorage 中的数据不存在

java - 无法使用 chrome 和 gecko 驱动程序执行 selenium java 程序

Python + WebDriver——使用unittest模块时没有启动浏览器

java - Selenium (Java) 消息 "Unable to locate element"但元素和 XPath 存在

javascript - jQuery datepicker 没有正确更新值

javascript - 使用 onmouseout javascript 时如何将背景设置为旧颜色

python - 无法使用selenium从页面中名为 'heading'的每个类获取数据

java - Selenium 测试未使用 testng 在网格中并行运行