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()
相关推荐
骆驼爱记录4 小时前
Word样式检查器使用指南
自动化·word·excel·wps·新人首发
XiaoMu_0015 小时前
自动化漏洞扫描与预警平台
运维·网络·自动化
生而为虫6 小时前
[Windows] 【浏览器自动化精灵V1.0】用Excel表格控制浏览器的自动化
运维·自动化
淡忘_cx7 小时前
使用Jenkins自动化部署vue项目(2.528.2版本)
vue.js·自动化·jenkins
风指引着方向8 小时前
昇腾 AI 开发生产力工具:CANN CLI 的高级使用与自动化脚本编写
运维·人工智能·自动化
掌心向暖RPA自动化8 小时前
影刀RPA如何在网页和桌面软件中实现自动滚动长截图?最好同时支持横向滚动纵向滚动的?
经验分享·自动化·影刀rpa·长截图
淡忘_cx8 小时前
使用Jenkins自动化部署spring-java项目+宝塔重启项目命令(2.528.2版本)
java·自动化·jenkins
种时光的人8 小时前
CANN生态自动调优:cann-auto-tune 让AIGC大模型性能优化自动化、极致化
性能优化·自动化·aigc
我的xiaodoujiao8 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 47--设置Selenium以无头模式运行代码
python·学习·selenium·测试工具·pytest
聆风吟º1 天前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann