如何检查Selenium Python Webdriver中是否选中了复选框?

Júl*_*ler 36 python selenium-webdriver python-unittest

我正在搜索一周如何检查是否在pylen的selenium webdriver中选中了复选框,但我只找到了来自JAVA的算法.我引用了webdriver文档并且它没有答案.有人有解决方案吗?

Roc*_*key 71

有一个名为WebElement的属性is_selected(),对于复选框,它指示是否已选中它.因此,您可以通过执行以下操作来验证是否已选中/取消选中它:

driver.find_element_by_name('<check_box_name>').is_selected()
Run Code Online (Sandbox Code Playgroud)

要么

driver.find_element_by_id('<check_box_id>').is_selected()
Run Code Online (Sandbox Code Playgroud)

我记得有同样的问题无法找到文档.一旦你知道这个名字就会更容易找到(这里有一些文档,is_selected就在底部),但是我试图找到Selenium对象的不同选项/属性的方法就是dir(some_object)放入代码并看看有哪些选项来起来(这是怎么is_selected出现的).


And*_*rew 6

我正在使用 driver.find_element_by_name("< check_box_name >").is_selected()


Júl*_*ler 5

我找到了另一种可行的方法,但在内部使用了 javascript。

def is_checked(self, driver, item_id):
  checked = driver.execute_script(
    f"return document.getElementById('{item_id}').checked"
  )
  return checked
Run Code Online (Sandbox Code Playgroud)