Resumen de uso de Python selenium

Introducción e instalación:

El selenio, como herramienta de prueba automatizada, se utiliza principalmente para probar páginas web. En el rastreador de Python, podemos usar esta herramienta para operar en elementos de la página web, como iniciar el navegador, abrir la página web, avanzar y retroceder, posicionar elementos, entrada de teclado Con operación de clic del mouse, etc. Se puede decir que siempre que la operación se pueda realizar en el navegador, podemos usar selenium para lograrlo
. Primero, necesitamos instalar selenium.
Si Python y pip están instalados en su computadora, solo necesitamos llamar

pip instalar selenio

Este comando en él
después de que se complete la instalación, necesitamos probar

from selenium import webdriver
调用FireFox浏览器
broswer=webdriver.Firefox()
打开百度
broswer.get('http://www.baidu.com')
显示百度的源代码
print(broswer.page_source)

De esta forma, podemos abrir la página de Baidu a través de Firefox y mostrar el código fuente de Baidu.
PD: debido a que la página se abre a través del navegador, el código fuente en este momento es el código fuente después de la representación JS.
Si hay un error cuando el código se está ejecutando, el sistema no puede iniciar Firefox y el código de error es

selenium.common.exceptions.WebDriverException: Mensaje: el ejecutable 'geckodriver' debe estar en PATH.

Razón 1: la versión de selenium es demasiado baja para admitir la versión correspondiente de Firefox; Solución: descargue la última versión de selenium e instálela (esta razón es generalmente poco probable)
Razón 2. Está utilizando una versión de Firefox 47 o superior, necesita Descargue el controlador de terceros, geckodriver, y luego coloque geckodriver.exe en el mismo directorio de python.exe o agregue el directorio donde se encuentra geckodriver.exe a la variable de entorno.

Operación de elementos

Cuando finalice la instalación de selenio, podemos usarlo para operar el sitio web
Primero, sabemos que las páginas están empalmadas por una variedad de elementos, usted necesita modificar las páginas, primero necesitamos ubicar lo que necesita Elementos de la página web modificados.
Escriba la descripción de la imagen aquí

Tomemos a Baidu como ejemplo, podemos ver que el cuadro de búsqueda de Baidu es un elemento

id de entrada = ”kw” nombre = ”wd” class = ”s_ipt” valor = ”” longitud máxima = ”255” autocompletar = ”apagado”

A continuación, podemos ubicar este elemento y luego operar el cuadro de búsqueda

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

broswer=webdriver.Firefox()
broswer.get('http://www.baidu.com')
通过id定位百度搜索框
searchItem=broswer.find_element_by_id('kw')
等待3
time.sleep(3)
向搜索框发送文字:图片
searchItem.send_keys('图片')
点击回车
searchItem.send_keys(Keys.ENTER)
显示当前页面的源代码
print(broswer.page_source)

Ejecute el código, el sistema abrirá primero un navegador Firefox y el navegador abrirá automáticamente la página de Baidu, espere tres segundos más tarde, el cuadro de búsqueda ingresará automáticamente el texto y haga clic en Ingresar
¿Por qué debería

hora de dormir (3)

Esta operación, debido a que la página web tarda en cargarse, debemos asegurarnos de que todos los elementos de la página web estén cargados antes de poder continuar.

Recién hemos usado la tecla Enter para completar la búsqueda, y luego operaremos haciendo clic en el botón de búsqueda

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

broswer=webdriver.Firefox()
broswer.get('http://www.baidu.com')
通过id定位百度搜索框
searchItem=broswer.find_element_by_id('kw')
通过class定位“百度一下”按钮
searchButton=broswer.find_element_by_class_name('bg s_btn')
等待3time.sleep(3)
向搜索框发送文字:图片
searchItem.send_keys('图片')
点击搜索按钮
searchButton.click()
显示当前页面的源代码
print(broswer.page_source)

Se puede lograr el código anterior antes del código y la misma operación, pero debemos completar la búsqueda haciendo clic en el botón de búsqueda
Escriba la descripción de la imagen aquí
que es la página después de que se completa la búsqueda

En cuanto al método de posicionamiento de elementos de página en Selenium , puedes consultar este blog
Ocho métodos comunes de posicionamiento de elementos en Selenium Webdriver

Cambio de cuadro

La página a menudo contiene mucho marco de iframe, muchos elementos se han colocado entre el marco
, por ejemplo, necesitamos simular el espacio QQ de la página de destino

Escriba la descripción de la imagen aquí

Iniciamos sesión haciendo clic en el avatar de QQ conectado. En primer lugar, obtuve el ID de elemento del avatar como "img_out_1356306040", y luego podemos continuar.

from selenium import webdriver
import time

broswer=webdriver.Firefox()
broswer.get(url='https://i.qq.com')
time.sleep(2)
broswer.find_element_by_id('img_out_1356306040').click()

Cuando ejecutamos el programa, la computadora tendrá este error

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="img_out_1356306040"]

Este código indica que no se encontró ningún elemento con id = ”img_out_1356306040”.

Echemos un vistazo más de cerca a la composición de esta página.
Escriba la descripción de la imagen aquí

Se puede encontrar que la posición del avatar de inicio de sesión se coloca en un marco de iframe con id = "login_frame", por lo que primero debemos ubicar este marco, y luego podemos ubicar elementos específicos en el marco

from selenium import webdriver
import time

broswer=webdriver.Firefox()
broswer.get(url='https://i.qq.com')
time.sleep(2)
定位到'login_frame'框架
broswer.switch_to.frame('login_frame')
broswer.find_element_by_id('img_out_1356306040').click()
返回至默认框架
broswer.switch_to.default_content()
print(broswer.page_source)

Ejecute el código anterior, podemos iniciar sesión con éxito en el espacio QQ

para resumir:

Lo anterior es el uso simple del selenio. Podemos usar el selenio para realizar varias operaciones en las páginas web. Siento que las operaciones que puede realizar el navegador son como si se pudieran hacer a través del selenio. En resumen, es una herramienta muy poderosa. A través del selenio, podemos mejorar Utilice el rastreador de Python para rastrear datos de Internet

Supongo que te gusta

Origin blog.csdn.net/mrliqifeng/article/details/78199407
Recomendado
Clasificación