点击了一个复选框,以及如何取消选择该复选框
domestic=driver.find_element_by_xpath('//*[@id="chkGraphic_0"]')
driver.execute_script("arguments[0].click();",domestic)
点击了一个复选框,以及如何取消选择该复选框
domestic=driver.find_element_by_xpath('//*[@id="chkGraphic_0"]')
driver.execute_script("arguments[0].click();",domestic)
如果要先选中复选框,请使用.is_selected()
:
domestic=driver.find_element_by_xpath('//*[@id="chkGraphic_0"]')
if domestic.is_selected():
#uncheck
driver.execute_script("arguments[0].click();",domestic)
,
使用execute_script()
并不是点击一个复选框进行选择/取消选择的理想方法。相关的HTML DOM本可以帮助我们构建一个规范的答案。但是,要选择/取消选择复选框,您需要为element_to_be_clickable()
引入 WebDriverWait ,并且可以使用以下任一解决方案:
使用CSS_SELECTOR
:
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"#chkGraphic_0"))).click()
使用XPATH
:
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//*[@id='chkGraphic_0']"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC