Dos elementos de página de posicionamiento de Python-selenium

Posicionamiento de dos objetos

2.1 Colocación de un solo elemento

En las pruebas automatizadas, el posicionamiento y el funcionamiento de los elementos del objeto es la parte central de la automatización, pero el objeto es la base de la automatización del posicionamiento, y el funcionamiento del objeto puede formarse sobre la base del objeto.

Webdriver proporciona métodos para el posicionamiento de elementos, los más comunes son los siguientes:

identificación

nombre

nombre de la clase

nombre de etiqueta

Texto del enlace

texto de enlace parcial

xpath

selector de CSS

Los métodos individuales correspondientes a pythonwebdriver son:

find_element_by_id ()

find_element_by_name ()

find_element_by_class_name ()

find_element_by_tag_name ()

find_element_by_link_text ()

find_element_by_partial_link_text ()

find_element_by_xpath ()

find_element_by_css_selector ()

 

El cuadro de entrada de búsqueda en la página de inicio de Baidu es un caso. Ingrese appium en el cuadro de entrada de búsqueda para explicar el posicionamiento de los elementos de python webdriver. Vea la captura de pantalla del código fuente del cuadro de entrada de búsqueda en la página de inicio de Baidu:

<input id = "kw" class = "s_ipt" autocomplete = "off" maxlength = "255" value = "" name = "wd">

El método de posicionamiento del selector id / name / classname / xpath / css es:

# Posicionamiento por id

driver.find_element_by_id ('kw'). send_keys ('appium')

# Localizar por nombre

driver.find_element_by_name ('wd'). send_keys ('appium')

# Localizar por nombre de clase

driver.find_element_by_class_name ('s_ipt'). send_keys ('appium')

# Localizar a través de xpath

driver.find_element_by_xpath (".//*[@ id = 'kw']"). send_keys ('appium')

# Posicionamiento mediante selector css

driver.find_element_by_css_selector ('# kw'). send_keys ('appium')

El método de enlace de texto / enlace parcial para localizar las "noticias" en la página de inicio de Baidu es:

#Localizar a través del texto del enlace

driver.find_element_by_link_text (u '新闻') .click ()

# Posicionamiento mediante texto de enlace parcial

driver.find_element_by_partial_link_text (u '闻') .click ()

 

2.2 Colocación de un grupo de elementos

En determinadas operaciones del navegador, a veces es necesario localizar un grupo de objetos, como arrastrar un cuadro, etc. Webdriver proporciona un método find_elements para localizar un grupo de elementos.

El método para ubicar un grupo de objetos es el mismo que el método para ubicar un solo objeto, vea a continuación:

find_elements_by_id ()

find_elements_by_name ()

find_elements_by_class_name ()

find_elements_by_tag_name ()

find_elements_by_link_text ()

find_elements_by_partial_link_text ()

find_elements_by_xpath ()

find_elements_by_css_selector ()

Las escenas que se utilizan para localizar un grupo de objetos son generalmente:

1. Operación por lotes

2. La otra es seleccionar un grupo de objetos y ubicar objetos específicos en este grupo de objetos.

2.3 Operación del navegador

Navegador maximizado

Driver.maximize_window ()

Establecer la altura y el ancho del navegador

Driver.set_window_size ()

Controla el avance del navegador

Driver.forward ()

Controlar la parte posterior del navegador

Driver.back ()

Actualización del navegador

Driver.refersh ()

Obtén el título del navegador

Driver.title

Obtener la URL de la página web actual

Driver.current_url

Obtener el código fuente de la página actual

Driver.page_source

Obtener el nombre del navegador que se ejecuta

Nombre del conductor

El ejemplo de código anterior es el siguiente:

# codificación: utf-8

desde el controlador web de importación de selenio

desde el momento de importar el sueño

driver = webdriver.Firefox () # Si elige Python3.0, necesita agregar un controlador

# Establecer la altura y el ancho del navegador

driver.set_window_size (500,600)

# Maximizar el navegador

driver.maximize_window ()

driver.implicitly_wait (30)

# Visita Baidu

driver.get ('http://www.baidu.com')

# Actualizar

driver.refresh ()

# Visita bing

driver.get ('http://www.bing.com')

# Atrás

driver.back ()

# adelante

driver.forward ()

# Obtener el título del navegador

controlador de impresión.title

# Obtener la URL del navegador

controlador de impresión.current_url

# Obtener el código fuente de la página actual del navegador

controlador de impresión.

# Obtener el navegador que se está ejecutando actualmente

controlador de impresión.nombre

driver.quit ()

2.4 Métodos comunes de la interfaz WebElement

Devuelve el tamaño del elemento.

Driver.size ()

Obtener el texto del elemento

Driver.text

Obtener valor de atributo

Driver.get_attribute ()

Establecer si el elemento cambiado es visible

Driver.is_displayed

Si la casilla de verificación o la casilla de radio están marcadas

Driver.is_selected ()

Almacene si el cuadro de edición de entrada está editado

Driver.is_enabled ()

Operación vacía

Driver.clear ()

Acción de clic

Driver.click ()

Operación de entrada

Driver.send_keys ()

****************************** El ejemplo de código anterior es el siguiente: ************ ***** ******************************************* ***** ********************

#coding: utf-8

desde seleniumimport webdriver

desde el tiempo de importación dormir

controlador = webdriver.Firefox ()

driver.maximize_window ()

driver.implicitly_wait (30)

driver.get ('http://www.baidu.com')

login = driver.find_element_by_id ('su')

# Obtener el tamaño del elemento

imprimir login.size

# Obtener propiedades

printlogin.get_attribute ('tipo')

# Si el elemento es visible

imprimir u'es visible: ', login.is_displayed ()

# Si el elemento se puede verificar

print u'puede verificarse: ', login.is_selected ()

# Si el elemento es editable

print u'is editable: ', login.is_enabled ()

driver.quit ()

2.5 ejemplo de inicio de sesión de Baidu

Ha iniciado sesión y cerrado sesión en Baidu en la página de inicio de Baidu para completar el posicionamiento de los elementos de demostración y el uso de la parte api. Consulte el siguiente código:

*********************************** Parte de código ************ * ********************************************** * ***************

# codificación: utf-8

desde seleniumimport webdriver

desde el tiempo de importación dormir

controlador = webdriver.Firefox ()

driver.maximize_window ()

driver.implicitly_wait (30)

driver.get ('http://www.baidu.com')

# Haga clic en el botón de inicio de sesión

driver.find_element_by_link_text (u '登录') .click ()

# ingresar cuenta

driver.find_element_by_id ('TANGRAM__PSP_8__userName'). send_keys ('cuenta baidu')

# introducir la contraseña

driver.find_element_by_id ('TANGRAM__PSP_8__password'). send_keys ('contraseña de cuenta')

# Cancelar el inicio de sesión automático

driver.find_element_by_id ('TANGRAM__PSP_8__memberPass'). click ()

# Haga clic en el botón de inicio de sesión

driver.find_element_by_id ('TANGRAM__PSP_8__submit'). click ()

# Obtener apodo

niCheng = driver.find_element_by_xpath (".//*[@ id = 's_username_top'] / span")

text = niCheng.text

niCheng.click ()

# Haga clic en el botón de salida

driver.find_element_by_xpath (".//*[@ id = 's_user_name_menu'] / div / a [5]"). click ()

# Haga clic en el botón Aceptar

driver.find_element_by_xpath (".//*[@ id = 'tip_con_wrap'] / div [3] / a [3]"). click ()

dormir (2)

afirmar texto en u'Madu Chongshi '

driver.quit ()

 

 

Supongo que te gusta

Origin blog.csdn.net/yang520java/article/details/82734826
Recomendado
Clasificación