无法使用python selenium,geckodriver单击复选框。
以下html中的输入行(来自inspect-element选项)显示为灰色,并且不突出显示复选框。
<div class="ui_checkbox BZGrt w">
<input id="checkbox_590" type="checkbox" class="input" value="10697">
<label class="label" for="checkbox_590" >
::before
<div class="icWwC f u k w"><span class="PDJtN"><span class="mTKbF">Vegan Options</span></span></div></label></div>
当光标位于::before
上时,复选框突出显示
我的Python代码如下:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
#link = link_list[0]
link = "https://www.tripadvisor.co.uk/Restaurants-g186338-London_England.html"
driver = webdriver.Firefox()
time.sleep(2)
driver.get(link)
WebDriverWait(driver, 15).until(EC.element_to_be_clickable((By.ID, 'onetrust-accept-btn-handler'))).click()
driver.find_elements(By.XPATH, '//*[@id="checkbox_590"]').click()
请帮助点击该复选框。
3条答案
按热度按时间nle07wnf1#
你可以通过文本找到,这不是最好的方法,但它工作正常。
o4hqfura2#
你可以通过标签找到,它不是最好的,但我尝试它的工作。
ttp71kqs3#
要单击与
<label>
关联的checkboxVegan Options,您需要为element_to_be_clickable()诱导WebDriverWait,您可以使用以下locator strategy:*注意:需要添加以下导入: