文本框和文本域
-
点击: click()
-
清空: clear()
-
输入:
- send_keys("数据")
- 保留原内容,追加输入
- 文本域输入换行时使用转义字符\n来表示
-
获得属性值
- get_attribute("html里的标记属性名")
- 最常使用的属性名有"value",代表当前文本框或文本域里的当前内容(str类型)
- title 代表鼠标移动到上面时显示的提示
- placeholder 代表未输入任何内容时的占位符
-
获得当前是否可用的状态
- is_enabled()
- True代表可用
- False代表禁用(一般是置灰的)
按钮
- 点击
- click()
- 获得属性值
- get_attribute("html里的标记属性名")
- 最常使用的属性名有"value",代表当前文本框或文本域里的当前内容(str类型)
- 获得当前是否可用的状态
- is_enabled()
- True代表可用
- False代表禁用(一般是置灰的)
单选按钮和复选框
-
点击
- click()
-
获得当前是否可用的状态
- is_enabled()
- True代表可用
- False代表禁用(一般是置灰的)
-
获得当前是否已经被选中的状体值
- is_selected()
- True代表已经被选中
- False代表没有被选中
超级链接和图片
- 点击
- click()
- 获得属性值
- get_attribute("html里的标记属性名")
- 得到的属性值是str
- 对于超级链接,常用的属性名是href,代表跳转到的目标网页URL
- 对于图片,常用的属性名是src,代表图片的存储路径
超级链接和静态文本
- 获得文本内容:开始和结束标记之间的文本字符串
- test
- text是一个页面元素对象的属性名
- 得到的文本是str类型的数据
"""
输入关键字806,判断"搜索”按钮如果可用,点击"搜索”按钮,等待3秒
点击搜索结果区域里的P806的商品名称,等待3秒
打印”购买数量"文本框的当前默认值
获得"商品库存"的台数,如果大于4台,清空”购买数量"文本框,输入4
判断”数据线"复选框如果没有被选中,就点击选中它,再点击“购买数量”文本框,等待8秒
获得此时的”商品总价",如果是”¥8080元",打印”总价计算正确",否则打印”总价计算错误"。
"""
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/index.php')
driver.find_element(By.ID,'keyword').send_keys('806')
btn = driver.find_element(By.NAME,'imageField')
if btn.is_enabled():# 如果搜索按钮可用
btn.click() # 点击搜索按钮
driver.find_element(By.LINK_TEXT,'P806').click()
v1 = driver.find_element(By.ID,"number").get_attribute('value')
print(v1)
t1 = driver.find_element(By.XPATH,"//dd[strong='商品库存:']").text
print(t1)
# 商品库存: 148 台
# 截取第5个字符到 " 台"字符串之间的文本字符串,用strip函数去掉前后的空格,运用int函数进行类型转换
count = int(t1[5:t1.find(' 台')].strip())
if count>4:
n = driver.find_element(By.ID, "number")
n.click()
n.send_keys("4")
# 数据线复选框
s = driver.find_element(By.ID,'spec_value_168')
if not s.is_selected():
s.click()
driver.find_element(By.ID, "number").click()#点击购买数量可以触发总价计算的事件发生
total = driver.find_element(By.ID,'ECS_GOODS_AMOUNT').text
if total == '¥8080元':
print("总价计算正确")
else:
print("总价计算失败")
driver.quit()
"""
打开登录页
输入用户名vip,输入密码vip,点击”立即登陆",等待5秒
点击”留言板",等待3秒,如果“匿名用户”复选框未选中,就点击它
如果电子邮件地址当前值是vip@ecshop.com,清空,输入vip@126.com
如果”留言"单选按钮默认被选中,点击”售后"单选按钮
输入主题”hello”,输入留言内容”123\n456”
如果”我要留言"按钮可用,就点击它,等待1秒
如果网页源代码中包含”您的留言已成功发表, 请等待管理员的审核!",打印”留言成功",否则打印”留言失败"。
"""