源代码:
<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();
未点击此按钮。
答案 0 :(得分:0)
问题可能有多种原因,肯定没有足够的信息可以回答,但可能的原因如下:
您可能需要移动到该元素并单击:
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()