Habilidades de posicionamiento de elementos de selenio-pitón (2)

En el posicionamiento del elemento python-selenium, hay muchos consejos, aquí está el resumen

 Consejo 1: Cuando los elementos relacionados tienen intersecciones, se debe agregar una espera fija. Durante la depuración general, la espera fija se debe aumentar adecuadamente para mantener la estabilidad del código. Seleccionar el cuadro desplegable al desplegar a veces debe esperar.

Cuando se encuentran dos elementos que tienen una relación de interdependencia (secuencial), al recargar, lleva tiempo esperar y se debe agregar una espera fija (Nota: asegúrese de esperar de manera fija, la espera implícita no es válida)

Por ejemplo:
la selección del cuadro desplegable, por ejemplo, seleccione provincia> ciudad, después de seleccionar la provincia, debe agregar una espera fija y luego ir a seleccionar la ciudad.
Ejemplo de código:
driver.find_element (By.XPATH, "// div [@ id = 'project_chosen']"). Haga clic en ()
# Desplegable del cuadro desplegable una vez.sleep (1)
driver.find_element (By.XPATH , "/ [@ title = '
提提 项1']"). haga clic en () # La entrada del valor del cuadro desplegable time.sleep (2) #Necesita esperar un tiempo fijo, porque hay un
controlador de dependencia.find_element (By.XPATH, " // div [@ id = 'opensBuild_chosen'] "). haga clic en ()
# Fije el cuadro de espera y seleccione el cuadro desplegable 2 driver.find_element (By.XPATH," / [@ title = 'OA2.7.2Version1'] " ) .click () #Seleccione el valor de la subopción en el cuadro desplegable 2, asegúrese de verificar el valor de la subopción

 

 Consejo dos, la misma interfaz, cuando los atributos del elemento son los mismos, pero no el mismo elemento, puede usar la identificación de múltiples atributos, de lo contrario, puede localizar el error del elemento o puede usar diferentes métodos de posicionamiento.

 

 Consejo tres, algunos elementos no se pueden ubicar, puede ser que el elemento ya no sea visible en la ubicación actual de la interfaz, la solución

a, puedes desplazarte hacia abajo

b. Considere maximizar el navegador

c. Mueva el navegador hacia abajo a la posición donde el elemento es visible.

Ejemplos:

element = driver.find_element (By.XPATH, "// div [@ id = 'mailto_chosen']") # Elementos actualmente invisibles que requieren una barra de desplazamiento para operar 
driver.execute_script ('argumentos [0] .scrollIntoView (); ', element)
element.click ()
time.sleep (1) ## Debe agregar wait, de lo contrario no es preciso, y luego ir a operar los elementos siguientes
driver.find_element (By.XPATH, "// div [@ id = 'mailto_chosen'] / div / ul / li [@ title = 'C: Test001']"). click () ## Se puede colocar en capas, Primero navegue al div, luego navegue a las subopciones debajo del div para la entrada.

 

 Consejo cuatro: cuando necesite depurar la función de un módulo, primero ajuste las funciones pequeñas que se pueden dividir por separado y luego depure todo

 

 Consejo cinco: cuando no se puede ubicar el elemento, primero ubique el superior del elemento y luego ubique el elemento.

Por ejemplo: 
driver.find_element (By.XPATH, "// div [@ id = 'mailto_chosen'] / div / ul / li [@ title = 'C: Test001']"). Haga clic en () ## Puede ser en capas Posicionamiento, primero posicionamiento en el div, luego posicionamiento en las subopciones debajo del div para la entrada.
O:
driver.find_element (By.XPATH, "// td [contiene (@ título, 'Error de comisión de modificación manual')]"). haga clic en () #Haga clic en el título para ubicar primero la línea actual, que puede verse por el posicionamiento del elemento. 
## Según el enlace, ingrese la página de detalles de ERROR
driver.find_element (By.XPATH, "// td [contiene (@ título, 'Error de comisión de modificación manual')] / a"). Haga clic en () # Luego haga clic en el pariente de la línea actual Forma de ruta para localizar el enlace de ERROR en el que se puede hacer clic y haga clic para ingresar los detalles del ERROR
time.sleep (1)




 

 

 

Supongo que te gusta

Origin www.cnblogs.com/123anqier-blog/p/12682843.html
Recomendado
Clasificación