Biblioteca de terceros de Python --biblioteca de selenio

Introducción

Selenium es una herramienta de prueba automatizada que admite varios navegadores. En resumen, selenium puede operar navegadores y cargar algunas interfaces que deben cargarse dinámicamente.
Después de instalar la biblioteca de selenium, también debe instalar el controlador para el navegador correspondiente.
La operación básica de selenium webdriver
localiza el elemento Después de eso, también debe realizar las siguientes operaciones correspondientes. A continuación se describen algunos métodos comúnmente utilizados.

Método común

método describir Ejemplo
obtener (url) URL de visita driver.get('http://www.baidu.com')
espalda() un paso atrás driver.back()Volver a la página anterior, similar a: ←
delantero() Vaya al siguiente paso driver.format()Opuesto a back(), similar a: →
dejar() Salga del controlador y cierre todas las ventanas. driver.quit()cerrar todas las ventanas
Cerrar() cerrar la ventana actual driver.close()Cerrar la ventana actualmente abierta
maximizar_ventana() Navegador maximizado
actualizar() actualiza tu navegador driver.refresh()actualiza tu navegador

manipulación de elementos

método describir Ejemplo
enviar_claves() Ingrese datos en el tipo de cuadro de texto driver.find_element('input').send_keys('123')Ingrese 123 en el cuadro de entrada
claro() Borrar datos ingresados driver.find_element(‘tag’,'input').clear()Borrar el contenido del cuadro de entrada
hacer clic() haga clic en evento driver.find_element('tag','input').click()
ingresar() Activar la acción de entrada del teclado driver.find_element('tag','input').enter()
texto() Obtener el contenido de texto de un elemento driver.find_element('id','name').text(), devuelve el texto del nombre
fuente de la página Obtener el contenido HTML de la página driver.page_source()Obtener el html de la página web

manipulación de cookies

método Introducción Ejemplo
obtener_cookies() Obtener todas las cookies de la página actual dirver.get_cookies()Obtener todas las cookies en la página
agregar_cookie() agregar galletas driver.add_cookie('time','1612354154.7383971'), agregue una cookie con un tiempo de 1612354154.7383971
borrar_cookie() borrar una galleta driver.delete_cookie('time')eliminar la cookie llamada tiempo
eliminar_todas_las_cookies() eliminar todas las cookies driver.delete_cookies()eliminar todas las cookies

Caso: Obtención de la información de contratación de Lagou.com

from selenium import webdriver
import time
from bs4 import BeautifulSoup
import re
class Job:		# 建立一个工作类
    def __init__(self):
        self.name=None
        self.company=None
        self.condition=None
        self.salary=None
    def get(self):
        return (self.name,self.company,self.condition,self.salary)
class Lagou:
    def __init__(self):
        self.driver=webdriver.Chrome()
        self.driver.maximize_window()
        self.url='http://www.lagou.com/'
    def search(self,keyword):
        self.driver.get(self.url)
        time.sleep(3)
        self.driver.find_element('id','cboxClose').click()
        time.sleep(3)
        self.driver.find_element('id','search_input').send_keys(keyword)
        self.driver.find_element('id','search_button').click()
        time.sleep(2)
        page_source=self.driver.page_source
        self.driver.quit()
        return page_source
    def get_jobs(self,page_source):
        soup=BeautifulSoup(page_source,'html.parser')
        myjob=Job()		# 实例化每一个工作并进行信息存储
        hot_item=soup.find_all('li',class_=re.compile('con_list_item'))
        for item in hot_item:
            myjob.name=item.find('h3').get_text().strip()	# 去除字符两端的空白字符
            myjob.company=item.select_one('.company_name>a').get_text().strip()
            myjob.salary=item.select_one('.money').get_text().strip()
            myjob.condition=item.find('div',class_='industry').get_text().strip()
            print(myjob.get())
if __name__ == '__main__':
    hot=Lagou()
    time.sleep(5)
    page_source=hot.search('python')
    hot.get_jobs(page_source)

resultado de la operación
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_54510474/article/details/121205214
Recomendado
Clasificación