Cuando intento encontrar elementos dentro del elemento actual, la búsqueda se produce en toda la página web.

Por ejemplo, obtengo algún elemento:

year_block = browser.find_element_by_xpath('some condition')

Hay varios elementos similares de este tipo, pero me aseguro de tener el elemento adecuado usando:

print(year_block.get_attribute('innerHTML'))

Y luego necesito encontrar una lista de elementos dentro de "year_block" que uso:

plant_id_block_list = year_block.find_elements_by_xpath("//*[contains(text(), 'Plant number')]/following-sibling::input")

Pero como resultado, obtengo la lista de todos esos elementos en una página en lugar de esos elementos solo dentro de year_block

¿Dónde está el problema?

-1
Ivan Fomin 23 ene. 2021 a las 08:21

1 respuesta

La mejor respuesta

Mientras intenta encontrar los elementos con respecto a year_block dentro de en lugar de usar // , debe usar .// que iniciará la búsqueda con respecto al contexto de {{X2 }}. Efectivamente, su línea de código será:

plant_id_block_list = year_block.find_elements_by_xpath(".//*[contains(text(), 'Plant number')]/following-sibling::input")
0
DebanjanB 23 ene. 2021 a las 12:23