[英]How do I click on this check box using selenium
我想使用 selenium 選擇此復選框
<input type="checkbox" name="rg" onchange="onCheckReg(this)" id="beauty_perfume_screening__c" value="beauty_perfume_screening__c" tabindex="-1" aria-labelledby="check-button-Beauty Perfume Screening check-group-header">
我嘗試通過 xpath 和 by id 查找,但總是出現無法定位元素的錯誤
wd.find_element_by_id("beauty_perfume_screening__c").click()
有任何想法嗎?
要單擊帶有文本的元素作為保存,您可以使用以下任一定位器策略:
使用id
:
wd.find_element_by_id("beauty_perfume_screening__c").click()
使用css_selector
:
wd.find_element_by_css_selector("input#beauty_perfume_screening__c[name='rg'][value='beauty_perfume_screening__c']").click()
使用xpath
:
wd.find_element_by_xpath("//input[@id='beauty_perfume_screening__c' and @name='rg'][@value='beauty_perfume_screening__c']").click()
理想情況下,要單擊元素,您需要為element_to_be_clickable()
引入WebDriverWait ,您可以使用以下任一定位器策略:
使用ID
:
WebDriverWait(wd, 20).until(EC.element_to_be_clickable((By.ID, "beauty_perfume_screening__c"))).click()
使用CSS_SELECTOR
:
WebDriverWait(wd, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input#beauty_perfume_screening__c[name='rg'][value='beauty_perfume_screening__c']"))).click()
使用XPATH
:
WebDriverWait(wd, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@id='beauty_perfume_screening__c' and @name='rg'][@value='beauty_perfume_screening__c']"))).click()
注意:您必須添加以下導入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
重要提示:如果元素在
<iframe>
您必須先切換到<iframe>
。您可以在以下位置找到一些相關討論:
您可以在以下位置找到有關NoSuchElementException的一些相關討論:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.