web自动化(二)元素定位 xpath定位&css定位

常用的元素定位:ID,Name,xpath,css 等等

selenuim demo

bash 复制代码
import time

from selenium import  webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import  WebDriverWait
from selenium.webdriver.support import  expected_conditions as EC
web_driver=webdriver.Firefox()
url="https://www.baidu.com"
web_driver.get(url)
#最多等待5秒,如果在2秒找到了元素 ,会执行下一步
# web_driver.implicitly_wait(5)

#点击 新闻 连接
el=(By.LINK_TEXT,"新闻")
el_select=web_driver.find_element(*el)
#等待元素 最长等待10秒,每2秒找一次
WebDriverWait(web_driver,10,2).until(EC.presence_of_element_located(el))
el_select.click()


time.sleep(3)
#切回第1个tab
web_driver.switch_to.window(web_driver.window_handles[0])
#搜索selenuim
web_driver.find_element(By.ID,"kw").send_keys("selenuim")
web_driver.find_element(By.ID,"su").click()
time.sleep(3)

web_driver.quit()

DrissionPage demo

帮助文档http://drissionpage.cn

bash 复制代码
import time
from DrissionPage import WebPage
from  DrissionPage.common import By as DrissionBy
web_page=WebPage('d')
# get()已内置等待加载开始,后无须跟wait.load_start()
web_page.get(url)


#XPATH 获取元素
# loc=(DrissionBy.XPATH,'//*[@id="s-top-left"]/a[1]')
#link_text 获取元素
loc=(DrissionBy.LINK_TEXT,'新闻')
# 等待元素加载 超时时间为5秒
web_page.wait.eles_loaded(loc,timeout=5)
web_page.ele(loc).click()

time.sleep(3)

# DrissionPage 3.x 开始就支持多 tab 对象共存,对象之间互不影响,而且标签页无需激活即可操作。因此不再需要切换标签页。
loc=(DrissionBy.ID,"kw")
#设置文本框值
web_page.ele(loc).input("DrissionPage")
loc=(DrissionBy.ID,"su")
web_page.ele(loc).click()


time.sleep(10)
web_page.quit()
相关推荐
左手厨刀右手茼蒿11 小时前
Flutter for OpenHarmony: Flutter 三方库 shamsi_date 助力鸿蒙应用精准适配波斯历法(中东出海必备)
android·flutter·ui·华为·自动化·harmonyos
人工干智能15 小时前
用AI写Fusion 360脚本:个人版也能免费玩自动化
运维·人工智能·自动化·fusion
赛博云推-Twitter热门霸屏工具15 小时前
社交媒体自动化营销趋势分析:未来3年怎么玩(2026-2029)
运维·自动化·媒体
Ciel_752117 小时前
OpenClaw 深度进阶:记忆系统、多智能体架构与自动化调度全解析
运维·自动化
胡摩西17 小时前
制造业室内精准定位:毫米级技术如何破解工厂自动化“最后一厘米”难题
人工智能·自动化·slam·室内定位·roomaps
学术小白人19 小时前
EI会议征稿!2026年数字能源与转换技术国际研讨会(DECT 2026)
运维·自动化·能源·rdlink研发家·数字能源
薛定猫AI20 小时前
【技术干货】用 Stitch + AI 编码代理自动化前端开发:从设计到 Next.js 生产应用
javascript·人工智能·自动化
芯跳加速21 小时前
AI 视频自动化学习日记 · 第四天
人工智能·自动化·音视频
代码方舟21 小时前
Java金融风控实战:集成天远二手车估值API构建车贷抵押资产核验系统
java·开发语言·python·自动化
天远云服21 小时前
驾培系统车辆核验实战:PHP集成天远二手车估值API实现学员车辆信息自动化管理
大数据·开发语言·自动化·php