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()
相关推荐
f***24116 小时前
高效自动化管理临时文件的技术方案
运维·自动化
xybDIY6 小时前
亚马逊云 Organizations 组织 Link 账号关联与解绑自动化解决方案
运维·自动化·云计算·aws
北京耐用通信7 小时前
耐达讯自动化赋能:Canopen转Profibus网关水泵连接新范式
人工智能·科技·物联网·自动化·信息与通信
AC赳赳老秦7 小时前
Shell 脚本批量生成:DeepSeek 辅助编写服务器运维自动化指令
运维·服务器·前端·vue.js·数据分析·自动化·deepseek
Dxy123931021610 小时前
Python如何使用DrissionPage做自动化:简单入门指南
开发语言·python·自动化
qq_5260991310 小时前
机器视觉网卡的全面选型指南
数码相机·计算机视觉·自动化
xiao5kou4chang6kai411 小时前
贯通LLM应用→数据分析→自动化编程→文献及知识管理→科研写作与绘图→构建本地LLM、Agent→多模型圆桌会议→N8N自动化工作流深度应用
人工智能·自动化·llm·科研绘图·n8n
2501_9419820512 小时前
基于自动化协议的企微外部群消息调度与状态回执实现逻辑
运维·自动化·企业微信
北京耐用通信12 小时前
耐达讯自动化“通关文牒”:Canopen转Profibus网关,贴片机的“协议通关秘籍”
人工智能·科技·网络协议·自动化·信息与通信
捷米研发三部12 小时前
自动化生产线中AB PLC通过协议转换网关和DeviceNet协议的机器人进行通讯案例
网络·机器人·自动化