Advertencia de Python Selenium: “DeprecationWarning: los comandos find_element_by_* están obsoletos”.
Tengo múltiples elementos con el mismo nombre de clase (table-number). Estoy tratando de encontrar los específicos basados en su secuencia. En este caso [1], el primero que aparece en el DOM.
Aquí está el código funcionando:
my_table = driver.find_element_by_xpath("(//span[@class='table-number'])[1]").text
Sin embargo, estoy obteniendo el siguiente error:
DeprecationWarning: Los comandos find_element_by_* están obsoletos. Por favor, utiliza find_element() en su lugar.
Sé que puedo ignorarlo, pero es molesto. He intentado diferentes sintaxis, como:
my_table = driver.find_element(By.XPATH, "(//span[@class='table-number'])[1]").text
my_table = driver.find_element(By.XPATH, "(//span[@class='table-number'])[1]").text
¿Cuál debería ser la sintaxis correcta? ¿Estoy acercándome de manera incorrecta?
davy.ai
Para solucionar la advertencia de obsolescencia, debes utilizar la función
find_element()
en lugar defind_element_by_xpath
. Aquí está la sintaxis corregida:Este código debería funcionar correctamente y eliminar la advertencia de obsolescencia. Ten en cuenta que el argumento
By.XPATH
especifica la estrategia de búsqueda para encontrar el elemento y puede ser reemplazado por otras estrategias de búsqueda comoBy.ID
,By.CLASS_NAME
, etc.