Resumen de datos de extracto de selenio con mapa mental
1. Atributos y métodos comunes del objeto controlador
En el proceso de uso de selenio, después de crear una instancia del objeto controlador, el objeto controlador tiene algunos atributos y métodos de uso común
driver.page_source
El código fuente de la página web representada por el navegador de pestañas actualdriver.current_url
La URL de la pestaña actualdriver.close()
Cierre la pestaña actual, si solo hay una pestaña, cierre todo el navegadordriver.quit()
Cerrar el navegadordriver.forward()
Avanzar páginadriver.back()
Página atrásdriver.screen_shot(img_name)
Captura de pantalla de la página
Puntos de conocimiento: comprender los atributos y métodos comunes del objeto controlador
2. El método para ubicar el elemento de etiqueta del objeto de controlador y obtener el objeto de etiqueta
Hay muchas formas de ubicar la etiqueta en selenium y devolver el objeto de elemento de etiqueta
find_element_by_id (返回一个元素)
find_element(s)_by_class_name (根据类名获取元素列表)
find_element(s)_by_name (根据标签的name属性值返回包含标签对象元素的列表)
find_element(s)_by_xpath (返回一个包含元素的列表)
find_element(s)_by_link_text (根据连接文本获取元素列表)
find_element(s)_by_partial_link_text (根据链接包含的文本获取元素列表)
find_element(s)_by_tag_name (根据标签名获取元素列表)
find_element(s)_by_css_selector (根据css选择器来获取元素列表)
- Nota:
- La diferencia entre find_element y find_elements:
- Si hay más s, devuelve la lista, si no hay s, devuelve el primer objeto de etiqueta que coincide
- Se lanzará una excepción si find_element no coincide, y se devolverá una lista vacía si find_elements no coincide.
- La diferencia entre by_link_text y by_partial_link_tex: todo texto y que contiene un texto determinado
- Cómo utilizar las funciones anteriores
driver.find_element_by_id('id_str')
- La diferencia entre find_element y find_elements:
Punto de conocimiento: dominar el método de localizar el elemento de etiqueta del objeto controlador y obtener el objeto de etiqueta
3. El objeto de etiqueta extrae el contenido de texto y los valores de los atributos.
find_element solo puede obtener el elemento, no los datos directamente, si necesita obtener los datos, debe utilizar los siguientes métodos
-
Realizar operaciones de clic en elementos
element.click()
- Haga clic en el objeto de etiqueta de destino
-
Ingrese datos en el cuadro de entrada
element.send_keys(data)
- Ingrese los datos para el objeto de etiqueta ubicado
-
Obtener texto
element.text
text
Obtenga el contenido del texto localizando las propiedades del objeto de etiqueta
-
Obtener valor de atributo
element.get_attribute("属性名")
get_attribute
Obtenga el valor del atributo localizando la función del objeto de etiqueta obtenido y pasando el nombre del atributo
-
El código se implementa de la siguiente manera:
from selenium import webdriver driver = webdriver.Chrome() driver.get('http://www.itcast.cn/') ret = driver.find_elements_by_tag_name('h2') print(ret[0].text) # ret = driver.find_elements_by_link_text('黑马程序员') print(ret[0].get_attribute('href')) driver.quit()
Este es el final, si te ayuda, bienvenido a gustar y seguir, tus me gusta son muy importantes para mí