首页 > 解决方案 > 如何使用 Selenium WebDriver for IE 和 Python 查找过滤器按钮的元素:

问题描述

我对 StackOverflow 和一般编程很陌生。

我正在使用 Selenium 自动化我公司的计费系统(仅适用于 IE),我需要按下过滤器按钮才能在页面上显示我们的数据库所说的内容。为了找到元素,我尝试了许多 xpath 变体,但似乎没有任何效果。这是过滤器按钮的 HTML 行:

<input style="background:green;color:white;" type=button class=bttn onclick="form1.formfilter.value='1';form1.submit();" value="FILTER">

有没有办法找到这个元素value="FILTER"

我已经阅读了文档并寻找了这个答案,但我没有找到它,或者我只是没有搜索正确的关键字。

标签: pythonselenium-webdriverxpathcss-selectorswebdriverwait

解决方案


FILTER要使用属性单击按钮,value="FILTER"您必须诱导WebDriverWait并且element_to_be_clickable()您可以使用以下任一Locator Strategies

  • 使用CSS_SELECTOR

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.bttn[value='FILTER']"))).click()
    
  • 使用XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='bttn' and @value='FILTER']"))).click()
    
  • 注意:您必须添加以下导入:

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

推荐阅读