Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中使用selenium单击子菜单中的按钮?_Python_Selenium_Xpath_Css Selectors_Webdriverwait - Fatal编程技术网

如何在python中使用selenium单击子菜单中的按钮?

如何在python中使用selenium单击子菜单中的按钮?,python,selenium,xpath,css-selectors,webdriverwait,Python,Selenium,Xpath,Css Selectors,Webdriverwait,我有一个网页,其中有一个菜单,如下所示: <span localization="" data-key="EXPORT_AND_IMPORT" class="ng-binding ng-isolate-scope">Export &amp; Import</span> Export&;进口 单击它时,会打开一个子菜单,其中包含三个选项: <div class="qmenu dropdown-menu positioned" style="top:

我有一个网页,其中有一个菜单,如下所示:

<span localization="" data-key="EXPORT_AND_IMPORT" class="ng-binding ng-isolate-scope">Export &amp; Import</span>
Export&;进口
单击它时,会打开一个子菜单,其中包含三个选项:

<div class="qmenu dropdown-menu positioned" style="top: 293px; left: 900px; max-height: 99%; width: 231px; height: 113px;"><ul class="menu-items"><li class="no-check"><a><i class="icon icon-download-lg"></i>Export Data...</a></li><li class="no-check"><a><i class="icon icon-uploadcsv-lg"></i>Import Data...</a></li><li class="divider"></li><li class="no-check"><a><i class="icon icon-twofiles"></i>Manage Previous Downloads...</a></li></ul></div>
  • 如何按下导出和导入按钮,然后按下子菜单中的导出数据按钮?

    首先在文本为导出和导入的元素上单击()
,然后单击()在文本为导出数据的子菜单元素上…您必须诱导WebDriverWait使
元素可单击()
,并且您可以使用以下任一选项:

  • 使用
    CSS\u选择器

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "span.ng-binding.ng-isolate-scope[data-key='EXPORT_AND_IMPORT']"))).click()
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.qmenu.dropdown-menu>ul.menu-items li:nth-of-type(1)>a"))).click()
    
  • 使用
    XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[@class='ng-binding ng-isolate-scope' and @data-key='EXPORT_AND_IMPORT']"))).click()
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='qmenu dropdown-menu positioned']/ul[@class='menu-items']//li/a[contains(., 'Export Data')]"))).click()
    
  • 注意:您必须添加以下导入:

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