如何通过检查硒python中是否已经单击复选框来取消选中复选框

点击了一个复选框,以及如何取消选择该复选框

domestic=driver.find_element_by_xpath('//*[@id="chkGraphic_0"]')
driver.execute_script("arguments[0].click();",domestic)
lavender110 回答:如何通过检查硒python中是否已经单击复选框来取消选中复选框

如果要先选中复选框,请使用.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
    
本文链接:https://www.f2er.com/3168891.html

大家都在问