Python Selenium имитирует вход в систему, а затем работает

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 способов позиционирования элементов (по одному примеру для каждого):

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"]')

Преимущества и недостатки:
идентификатор и имя:
Преимущества: легко найти элементы, в большинстве случаев значения их атрибутов уникальны.
Недостатки: многие элементы не имеют атрибутов id и name
class_name и tag_name:
Преимущества: почти все элементы имеют class_name. и tag_name
Недостатки: class и tag Значение часто не уникально, и трудно точно найти элемент.
link_text и parts_link_text:
Особенности: могут использоваться только для тегов
Отличие:
link_text: используется для некоторых тегов с относительно короткими именами.
part_link_text: используется для некоторых тегов, имена которых очень длинные. Мы можем выбрать часть специальных слов для поиска.
xpath и css_selector:
Возможности: xpath и css_selector можно использовать для позиционирования практически всех элементов страницы и генерировать напрямую. Но иногда прямая генерация не эффективна на 100%, в некоторых случаях все равно придется писать xpath и css_selector вручную.
Для css_selector: вы можете использовать любой атрибут для поиска элемента, просто добавьте пару скобок с обеих сторон атрибута.

рекомендация

отblog.csdn.net/qq_38881740/article/details/130391483
рекомендация