按钮" +"没有点击硒

时间:2015-09-25 04:41:21

标签: python selenium selenium-webdriver

源代码:

<input type="button" value="+" id="hour_add" class="ui-button ui-widget ui-state-default ui-corner-all" role="button" aria-disabled="false">

我的代码:

driver.find_element_by_xpath("//input[contains(@id, 'hour_add')]").click();

未点击此按钮。

2 个答案:

答案 0 :(得分:0)

问题可能有多种原因,肯定没有足够的信息可以回答,但可能的原因如下:

  • 有多个匹配XPath表达式的元素并且点击了错误的元素
  • 您可能需要移动到该元素并单击

    from selenium.webdriver.common.action_chains import ActionChains
    
    ActionChains(driver).move_to_element(element).click(element).perform()
    
  • 您可能需要滚动到元素的视图

    driver.execute_script("arguments[0].scrollIntoView();", element)
    
  • 您可能需要点击通过javascript

    driver.execute_script("arguments[0].click();", element)
    
  • 您可能需要wait for element to be clickable

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    element = WebDriverWait(driver, 10).until(
        EC.element_to_be_clickable((By.ID, "hour_add"))
    )
    element.click()
    
  • 有时甚至最大化浏览器窗口可以提供帮助:

    driver.maximize_window()
    

答案 1 :(得分:0)

如果 ID 可用于您要点击的元素,则只需使用find_element_by_id

driver.find_element_by_id('hour_add').click()