Python+selenium自动化之19----table定位

本篇文章主要说明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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值