首页 > 解决方案 > 在 python selenium 中单击“输入”

问题描述

<input class="jss1805" name="confirmWeight" tabindex="0" type="checkbox" data-indeterminate="false" value="">

代码^来自一个html网站,它是一个我想点击的复选框。除了它是输入而不是按钮或 td。我是否可以单击它,因为当我运行 selenium 时似乎找不到它。

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[1]/div[2]/main/form/div/div[2]/div[4]/div[2]/div/div/div[2]/div/div[1]/div/div/label/span[1]/span/input"))).click()

这会找到元素但不单击它。

标签: pythonseleniumbuttoninputclick

解决方案


尝试以下操作:

from selenium.webdriver.support.wait import WebDriverWait

wait = WebDriverWait(driver, 20)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name=confirmWeight]")))

element = driver.find_element_by_css_selector("input[name=confirmWeight]")
element.click()

解释:

  1. 首先,您需要等到您的元素可点击。为此,您必须定义唯一的定位器。
  2. 找到元素并单击它

如果要进行输入,请使用:

element.send_keys("`your input")

如果你想点击svg,那是一个孩子使用:input[name=confirmWeight]>svg 我在你的html中看不到它。看来您提供的信息还不够。


推荐阅读