单击使用Selenium Python的复选框?

2024-04-25 16:27:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要使用Selenium Python单击复选框

.html,然后单击复选框:

<section class="content__supFooter ng-star-inserted">
   <p-checkbox binary="false" name="agreement" class="ng-dirty ng-touched ng-invalid">
     <div class="ui-chkbox ui-widget">
       <div class="ui-helper-hidden-accessible">
        <div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default">
          <span class="ui-chkbox-icon ui-clickable"></span>
        </div>
       </div>
     </div>
 </section>

.html后单击复选框:

<section class="content__supFooter ng-star-inserted">
       <p-checkbox binary="false" name="agreement" class="ng-dirty ng-touched ng-valid">
         <div class="ui-chkbox ui-widget">
           <div class="ui-helper-hidden-accessible">
               <div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default ui-state-active">
          <span class="ui-chkbox-icon ui-clickable pi pi-check"></span>
           </div>
         </div>
     </section>

我试过:

1:

from selenium.webdriver.common.action_chains import ActionChains

element = driver.find_elements_by_tag_name("ui-chkbox-icon ui-clickable")
# element = driver.find_elements_by_tag_name('section')

actions = ActionChains(driver)
actions.move_to_element(element).perform()
driver.execute_script("arguments[0].click();", element)

2:

element = driver.find_element_by_xpath(
    '/html/body/elm-app/elm-covid-vaccine-registration/div/main/content/section/elm-cvr-register-visitor/div/section[2]/p-checkbox/div/div[1]/input').click()

但是无法检测复选框,请提供任何帮助


1条回答
网友
1楼 · 发布于 2024-04-25 16:27:39
driver.find_elements_by_tag_name("ui-chkbox-icon ui-clickable")

这是错误的,请将cssfind_element一起使用

element = driver.find_element_by_css_selector("span.ui-chkbox-icon.ui-clickable")
driver.execute_script("arguments[0].click();", element)

应该对你有用

相关问题 更多 >