Python Selenium simula el inicio de sesión y luego opera

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

import time


#配置信息
#配置代码执行完后浏览器不自动关闭
options = webdriver.ChromeOptions()
options.add_experimental_option('detach', True)

url="http://*****"
driver = webdriver.Chrome(options=options)
#打开网页
driver.get(url)
#等待5秒
driver.implicitly_wait(5)
# 最大化窗口
driver.maximize_window()

#获得元素,比填写账号与密码
#账号 我是使用XPATH方法获取元素。这种方法适用于页面不会变的
driver.find_element(By.XPATH,"/html/body/div[1]/div[2]/div/form/div[2]/div/div/div/input").send_keys("账号")
#密码
driver.find_element(By.XPATH,"/html/body/div[1]/div[2]/div/form/div[3]/div/div/div/input").send_keys("密码")


#登录:
#点击
driver.find_element(By.XPATH,'/html/body/div[1]/div[2]/div/form/div[5]/div/button').click()

# 停顿10秒然后操作,以防止页面还没有加载完成 
# 假如需要操作的页面为iframe中页面话,需要切换至iframe
# driver.switch_to.frame('iframe的id')
time.sleep(10)
driver.find_element(By.XPATH,'//*[@id="XXX"]/div/div/div[1]/div/div/div/textarea').send_keys("内容")


8 formas de posicionar elementos (un ejemplo para cada una):

from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
# id
driver.find_element(By.ID, "username")
# name
driver.find_element(By.NAME, "keyword")
# class name
driver.find_element(By.CLASS_NAME, "login_btn")
# tag_name
driver.find_element(By.TAG_NAME, "select")
# link_text
driver.find_element(By.LINK_TEXT, "进入商城购物")
# partial_link_text
driver.find_element(By.PARTIAL_LINK_TEXT, "人资")
# xpath
driver.find_element(By.XPATH, "/html/body/div[3]/div[2]/div[3]/div/div[1]/a/img")
# css_selector
driver.find_element(By.CSS_SELECTOR, '[value="1"]')

Ventajas y Desventajas:
id y nombre:
Ventajas: elementos fáciles de localizar, la mayoría de las veces los valores de sus atributos son únicos
Desventajas: muchos elementos no tienen atributos de id y nombre
nombre_clase y nombre_etiqueta:
Ventajas: casi todos los elementos tienen nombre_clase y tag_name
Desventajas: clase y etiqueta El valor de a menudo no es único y es difícil encontrar un elemento con precisión.
link_text y parcial_link_text:
Características: solo se puede usar para etiquetas
Distinción:
link_text: se usa para algunas etiquetas con nombres relativamente cortos.
part_link_text: usado para algunas etiquetas cuyos nombres son muy largos, podemos seleccionar una parte de palabras especiales para ubicar.
xpath y css_selector:
Características: xpath y css_selector se pueden usar para posicionar casi todos los elementos de la página y se pueden generar directamente. Pero a veces la generación directa no es 100% efectiva y, en algunos casos, aún es necesario escribir xpath y css_selector manualmente.
Para css_selector: puede usar cualquier atributo para ubicar el elemento, simplemente agregue un par de corchetes a ambos lados del atributo.

Supongo que te gusta

Origin blog.csdn.net/qq_38881740/article/details/130391483
Recomendado
Clasificación