Python Selenium simuliert die Anmeldung und führt dann den Vorgang aus

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 Möglichkeiten, Elemente zu positionieren (jeweils ein Beispiel):

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

Vorteile und Nachteile:
ID und Name:
Vorteile: Leicht zu findende Elemente, meist sind ihre Attributwerte eindeutig.
Nachteile: Viele Elemente haben keine ID- und Namensattribute,
Klassenname und Tagname:
Vorteile: Fast alle Elemente haben Klassenname und tag_name
Nachteile: Klasse und Tag Der Wert ist oft nicht eindeutig und es ist schwierig, ein Element genau zu finden.
link_text und partieller_link_text:
Merkmale: können nur für Tags verwendet werden.
Unterscheidung:
link_text: wird für einige Tags mit relativ kurzen Namen verwendet.
partieller_link_text: wird für einige a-Tags verwendet, deren Namen sehr lang sind. Wir können einen Teil spezieller Wörter zum Suchen auswählen.
xpath und css_selector:
Features: xpath und css_selector können zur Positionierung fast aller Seitenelemente verwendet und direkt generiert werden. Aber manchmal ist die direkte Generierung nicht zu 100 % effektiv. In einigen Fällen müssen Sie xpath und css_selector immer noch manuell schreiben.
Für css_selector: Sie können jedes Attribut verwenden, um das Element zu lokalisieren. Fügen Sie einfach ein Klammerpaar auf beiden Seiten des Attributs hinzu.

おすすめ

転載: blog.csdn.net/qq_38881740/article/details/130391483