【问题标题】:Using selenium Python to automate to click the elements使用 selenium Python 自动点击元素
【发布时间】:2021-10-24 08:38:40
【问题描述】:

我在 Python 中使用 Selenium。我想自动单击下拉菜单中的菜单之一,如下所示。假设"openExportDialog()" xpath 是//*[@id="globalMenuItems"]/li[1]/a

有人能解释一下吗?

<div id="nmapGlobalMenu" class="col-md-12 disable-user-select dropdown pr-0 show">
<button class="imgicon n-ui-icon n-ui-ic-operation myBasic_icon imgicon" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"></button><div id="globalMenuItems" class="dropdown-menu dropdown-menu-right show" x-placement="bottom-end" style="position: absolute; transform: translate3d(803px, 33px, 0px); top: 0px; left: 0px; will-change: transform;">
</li><li class=""><a class="dropdown-item" onclick="openImportDialog()"><span class="vakata-contextmenu"> Import Node</span></a>
</li><li class=""><a class="dropdown-item" onclick="openExportDialog()"><span class="vakata-contextmenu"> Export Node</span></a>
    </li><li class=""><a class="dropdown-item" onclick="discoverNetwork()"><span class="vakata-contextmenu">Discover Network</span></a>
    </li><li class=""><a class="dropdown-item" onclick="openEmailSettingsView()"><span class="vakata-contextmenu"> Email Notification Settings</span></a>
    </li><li class=""><a class="dropdown-item" onclick="ICMPsettingsView()"><span class="vakata-contextmenu"> ICMP Health Check Settings</span></a>
    </li><li class=""><a class="dropdown-item" onclick="customTypeManagement()"><span class="vakata-contextmenu"> Node Type Management</span></a></li></div>
</div>

我希望问题很清楚。

谢谢

【问题讨论】:

    标签: python selenium


    【解决方案1】:

    对话框打开后,您可以使用此//a[@onclick='openExportDialog()'] xpath 来单击Export Node 选项。

    代码:

    wait = WebDriverWait(driver, 50)
    wait.until(EC.element_to_be_clickable((By.XPATH, "//a[@onclick='openExportDialog()']"))).click()
    

    进口:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

    【讨论】:

      【解决方案2】:

      首先单击按钮,然后尝试找到a 标记。如下:

      driver find_element_by_id("globalMenuItems").click()
      driver.find _element_by_xpath("//a[contains(text(),'Export Node')]").click()
      

      【讨论】:

        猜你喜欢
        • 2021-02-27
        • 2020-11-06
        • 2020-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-24
        • 2019-10-16
        • 1970-01-01
        相关资源
        最近更新 更多