网站首页 > 技术文章 正文
本篇文章主要说明table表格的定位。还是使用腾讯企业邮箱里的元素进行实例操作。
什么是table
Table是一个数据库控件,主要用于在web页面上创建表格,其功能与HtmlTable类似。不同的是,Table控件可以用动态的内容以编程的方式来生成表格。
〈table〉...〈/table〉 - 定义表格
〈th〉 - 定义表头
〈tr〉 - 定义表行
〈td〉 - 定义表元(表格的具体数据)
企业邮箱
企业邮箱设置中的文件夹和标签页,系统文件夹的内容就是一个表格。
查看页面元素,可以与上述定义做对照。
Table定位-清空【已删除】邮件
通过查看源码,【已删除】处于table[@id='contenttable']表格,第六行,“清空”处于第6列,xpath路径为"//table[@id='contenttable']//tr[6]/td[6]/a[@href='javascript:void(0)']"。
操作步骤:点击邮箱的设置,进入iframe不然无法操作下面的元素,点击“文件夹和标签”页,点击【已删除】列表的清空按钮,点击其他表格只需更换tr和td的下标即可。
源码可复制:
# -*- coding: UTF-8 -*-from selenium import webdriver
import time
def login(driver, user, pwd):
# 打开腾讯企业邮箱
driver.get("https://exmail.qq.com/login")
# 点击 账号密码登陆
driver.find_element_by_class_name("js_show_pwd_panel").click()
# 输入 账户
driver.find_element_by_id("inputuin").send_keys(user)
# 输入 密码
driver.find_element_by_id("pp").send_keys(pwd)
# 点击 登录
driver.find_element_by_id('btlogin').click()
#点击 设置
driver.find_element_by_link_text("设置").click()
time.sleep(3)
#进入 iframe
driver.switch_to.frame("mainFrame")
#进入 文件夹和标签
time.sleep(3)
driver.find_element_by_link_text("文件夹和标签").click()
time.sleep(3)
driver.find_element_by_xpath("//table[@id='contenttable']"
"//tr[6]/td[6]/"
"a[@href='javascript:void(0)']").click()
time.sleep(3)
# 退出 iframe
driver.switch_to.default_content()def logout(driver):
# 登录成功 等待页面加载
time.sleep(4)
# 退出登录
driver.find_element_by_partial_link_text("退出").click()
# 用于关闭浏览器,一般测试结束时需要使用
driver.quit()if __name__ == "__main__":
driver = webdriver.Firefox()
driver.implicitly_wait(20)
user = input("请输入您的邮箱账户:")
pwd = input("请输入您的邮箱密码:")
# 调用login函数
login(driver, user, pwd)
调用 logout函数
logout(driver)
猜你喜欢
- 2024-11-14 Playwright自动化测试工具之元素定位实战
- 2024-11-14 利器 | AppCrawler 自动遍历测试实践(二):定制化配置
- 2024-11-14 java组件HuTool相关工具类的使用二
- 2024-11-14 手把手教你爬取热门小说《诡秘之主》
- 2024-11-14 Python爬虫之xpath用法全解析(py xpath)
- 2024-11-14 怎么用xpath写drissionpage?或者用相对位置?
- 2024-11-14 通过python+Xpath实现抓取某网站推荐的歌曲
- 2024-11-14 Python自动化工具(python写自动化工具)
- 2024-11-14 web自动化测试——xpath常用案例(web自动化测试平台)
- 2024-11-14 手把手教你如何用Python爬取网站文本信息
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)