# 笔记:
# is_displayed():判断元素是否显示 is_selected():判断元素是否选中状态
# 建议用 dr.switch_to.alert.text 而 dr.switch_to_alert.text 是老式写法
from selenium import webdriver
import time
dr = webdriver.Chrome()
dr.implicitly_wait(20)
dr.get("file:///D:/360%E5%AE%89%E5%85%A8%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%8B%E8%BD%BD/4.html%E6%B5%8B%E8%AF%95/myhtml2/learn.html")
# 1. 获取成绩最小值
jk = dr.find_element_by_css_selector("font[size='5']").text
print("成绩最小值是:",jk)
# min_score=dr.find_element_by_xpath('/html/body/table/tbody/tr[6]/td/font').text
# print("最小成绩是",min_score)
#2.输入用户名 & 获取用户名的值
username = dr.find_element_by_id("username")
username.send_keys("Alen")
print("用户名字是:",username.get_attribute("value"))
dr.find_element_by_id("password").send_keys("123456")
#3. 选择性别爱好
dr.find_element_by_id("sex_2").click()
hobbies = dr.find_elements_by_name("hobby")
for h in hobbies:
if h.is_selected():
continue
else:
h.click()
# 4. 下拉列表
# 方法一:直接点击选项
# dr.find_element_by_xpath("//select/option[@value=3]").click()
#方法二: 使用内置方法
from selenium.webdriver.support.select import Select
#1.通过index选择,从0开始
# Select(dr.find_element_by_tag_name("select")).select_by_index("3");
#2.通过value选择
# Select(dr.find_element_by_tag_name("select")).select_by_value("2")
#3.选择可见的文本
Select(dr.find_element_by_tag_name("select")).select_by_visible_text("西安")
# 5.富文本框操作
jk = dr.find_element_by_xpath("/html/body/form/textarea")
jk.clear()
jk.send_keys("你好,明天!")
# 6.点击重置按钮
time.sleep(3)
dr.find_element_by_xpath('//input[@value="重置"]').click()
# 7.进入frame
dr.switch_to.frame("baidu")
dr.find_element_by_name("wd").send_keys("hello")
# 8.退出frame
# 方法一 : 直接退出到最外面
# dr.switch_to_default_content()
# 方法二 :切换到父级
dr.switch_to.parent_frame()
# 9.点击按钮5次
button = dr.find_element_by_xpath("/html/body/button[1]")
for i in range(5):
button.click()
time.sleep(2)
# 10. 点击aler弹框 & 获取弹框内容 & 点击确认按钮
dr.find_element_by_xpath("/html/body/button[2]").click()
print("弹框内容为:",dr.switch_to.alert.text)
time.sleep(3)
dr.switch_to.alert.accept()
# 11. 操作prompt弹框 & 获取弹框内容 & 输入文本 & 点击确认
dr.find_element_by_xpath("/html/body/button[3]").click()
print("弹框内容为:",dr.switch_to.alert.text)
dr.switch_to.alert.send_keys("明天放假!")
dr.switch_to.alert.accept()
# 12. 点击confirm ,选择时取消
dr.find_element_by_xpath("/html/body/button[4]").click()
print("弹框内容为",dr.switch_to.alert.text)
dr.switch_to.alert.dismiss()
# 13. 拖动
#方法 : 用鼠标模块来操作
from selenium.webdriver.common.action_chains import ActionChains
ActionChains(dr).drag_and_drop_by_offset(dr.find_element_by_xpath('//*[@id="scrollBar"]/div[1]'),30,0).perform()
print("滑动框移动量:",dr.find_element_by_xpath('//*[@id="demo"]').text)
# 14.文件上传
#input 类型的文件上传
dr.find_element_by_xpath('//*[@id="uploadfile"]').send_keys("C:\\Users\\Administrator\\Pictures\\test")
# 16. 执行js
js='document.querySelector("#birthday").value="2021-04-15"'
dr.execute_script(js)
js='document.querySelector("#graduationtime").value="2021-04-14"'
dr.execute_script(js)
js_1='document.querySelector("#nowTime").value="10:22"'
dr.execute_script(js_1)
time.sleep(10)
dr.quit()
Python学习输出
最新推荐文章于 2022-09-01 11:33:01 发布