如何在Selenium Python WebDriver中检查复选框是否被选中?
我已经找了一个星期,想知道怎么用Python在Selenium WebDriver中检查一个复选框是否被选中,但我只找到了一些JAVA的算法。我看过WebDriver的文档,但里面没有这个问题的答案。
有没有人能给个解决办法?
6 个回答
7
我正在使用 driver.find_element_by_name("< check_box_name >").is_selected()
这个代码来检查一个复选框是否被选中了。
101
有一个叫做 is_selected()
的属性,它是用来检查网页元素的,比如复选框。这个属性可以告诉你复选框是否被选中。所以你可以通过以下方式来检查它是否被选中或未选中:
driver.find_element_by_name('<check_box_name>').is_selected()
或者
driver.find_element_by_id('<check_box_id>').is_selected()
我记得我也遇到过找不到文档的问题。一旦你知道这个属性的名字,找到相关信息就简单多了(这里is_selected 在文档的底部)。我通常查找 Selenium 对象的不同选项或属性的方法是直接在代码里输入 dir(some_object)
,然后看看有哪些选项出现(这就是我找到 is_selected
的方法)。
5
我找到了一种新的方法,可以实现这个功能,不过是用JavaScript来做的。
def is_checked(self, driver, item_id):
checked = driver.execute_script(
f"return document.getElementById('{item_id}').checked"
)
return checked