【问题标题】:Selenium Finding hover button element by class name in pythonSelenium在python中按类名查找悬停按钮元素
【发布时间】:2021-08-12 00:41:38
【问题描述】:

周日快乐,

试图点击website 上的过滤器按钮(称为优惠)。它是一个没有关联链接的悬停按钮,因此无法通过链接文本找到元素。

When clicking Offer button, the wanted button goes from class="item-list-header-filter-icon item-list-wanted-filter hover-state" to class="item-list-header-filter-icon item-list-wanted-filter hover-state inactive"

我试过了:

driver.find_element_by_class_name(item-list-header-filter-icon item-list-wanted-filter hover-state)

因为它是动态的,所以我让 webdriver 等待:

        try:
        element = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.CLASS_NAME, "item-list-header-filter-icon item-list-wanted-filter hover-state inactive"))
        )
        element.click()

非常感谢任何想法! 祝你有美好的一天

【问题讨论】:

    标签: python selenium selenium-webdriver webdriver classname


    【解决方案1】:

    您需要将鼠标悬停在该元素上。
    可以这样做:

    from selenium.webdriver.common.action_chains import ActionChains
    
    offer = driver.find_element_by_css_selector('.item-list-header-filter-icon.item-list-offer-filter')
    hover = ActionChains(driver).move_to_element(offer)
    hover.perform()
    

    如果您只要求找到该元素,您可以简单地使用

    offer = driver.find_element_by_css_selector('.item-list-header-filter-icon.item-list-offer-filter')
    

    【讨论】:

      猜你喜欢
      • 2015-07-12
      • 2021-03-05
      • 2023-01-03
      • 2016-06-08
      • 2016-11-30
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多