python 3.x - scraping - Seleccione la casilla de verificación usando Selenio con Python3.x y Selenio
selenium webdriver python (3)
Prueba este xpath
checkElements= driver.find_element_by_xpath("//input[@type=''checkbox'' and @value=''facility'']")
checkElements.click()
No sé Python, entonces podría haber un error de sintaxis, pero la ruta es correcta
Estoy intentando marcar la casilla de verificación en una página https://www.pkobp.pl/poi/?clients=1,2,3
<li class="poi-filter-top__el">
<div class="poi-icon poi-icon--facility"></div>
<input type="checkbox" id="poi-legend-facility" class="js-poi-legend" name="type" value="facility"> <label for="poi-legend-facility" class="poi-legend input-checkbox poi-filter-top__label">Oddział</label> <a href="#facility" class="js-poi-action poi-filter-top__link" data-action="facility">Wybierz rodzaj</a>
</li>
Intento hacer esto con:
checkboxes = driver.find_elements_by_id(''poi-legend-facility'')
for checkbox in checkboxes:
if not checkbox.is_selected():
checkbox.click()
Pero no funciona. ¿Me puedes ayudar?
Solo tiene una casilla de verificación con dicha identificación (poi-legend-facility).
Puedes hacer así:
checkbox = driver.find_element_by_id("poi-legend-facility")
if not checkbox.is_selected():
checkbox.click()
O en tu caso prueba este código:
checkboxes = driver.find_elements_by_id("poi-legend-facility")
checkboxes[0].click()
PD: Usar ID para encontrar el elemento más rápido que encontrarlo en XPath.
Esta es la única forma en que pude encontrar para verificar todos los cuadros en esa página y salir del ciclo. Dale una oportunidad también.
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get(''https://www.pkobp.pl/poi/?clients=1,2,3'')
for tickbox in driver.find_elements_by_css_selector(".input-checkbox"):
try:
tickbox.click()
time.sleep(7)
except:
break
driver.quit()