python - 在 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()
这会找到元素但不单击它。
解决方案
尝试以下操作:
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()
解释:
- 首先,您需要等到您的元素可点击。为此,您必须定义唯一的定位器。
- 找到元素并单击它
如果要进行输入,请使用:
element.send_keys("`your input")
如果你想点击svg,那是一个孩子使用:input[name=confirmWeight]>svg
我在你的html中看不到它。看来您提供的信息还不够。
推荐阅读
- c# - UWP AdaptiveGridView ItemContainerStyleSelector 不起作用
- python - Python将对象附加到列表
- c++ - C++:来自 Stroustrup 示例的运算符优先级
- angular - Angular 9 + eslint:找不到规则“@angular-eslint/...”的错误定义
- android - 在领域中存储数千条记录时Android屏幕停电
- r - R - 在 X 轴上显示许多值的折线图
- javascript - Javascript - 得到一个未捕获的类型错误
- android - 如何在 android 片段中实例化 YoutubePlayerView
- c# - 重叠实体的文本 (AutoCAD/C#)
- sharepoint - 使用共享 Minrole 安装 Sharepoint 服务器