day:26 selenium——下拉框、弹框、输入框、frame

一.select 下拉框讲解

(1)下拉框案例


案例:

from selenium import webdriver #导入selenium模块中的webdriver
from selenium.webdriver.support.select import Select
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("file:///E:/dcs/two/selenium/select.html") #通过get打开页面
time.sleep(2)
wz=dx.find_element_by_id("dropdown")

Select(wz).select_by_index(2) #通过索引来选择

Select(wz).select_by_value("option2") #通过value来选择

Select(wz).select_by_visible_text("绍兴") # 通过text 文本来选择

二.alert弹框


地址:file:///D:/dcs/ziliao/html%E5%BC%B9%E6%A1%86/alert%E5%BC%B9%E6%A1%86.html

代码:
tk=dx.switch_to.alert #切换到框内
tk.dismiss() # 取消
time.sleep(2)
tk.accept() #确认
案例:
from selenium import webdriver #导入selenium模块中的webdriver
from selenium.webdriver.support.select import Select
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("file:///E:/dcs/two/selenium/%E5%BC%B9%E6%A1%86/alert%E5%BC%B9%E6%A1%86.html") #通过get打开页面
time.sleep(2)
tk=dx.switch_to.alert #切换到框内
tk.dismiss() # 取消
time.sleep(2)
tk.accept() #确认

三. 确认性弹框

找到确认按钮点击

from selenium import webdriver #导入selenium模块中的webdriver
from selenium.webdriver.support.select import Select
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("file:///E:/dcs/two/selenium/%E5%BC%B9%E6%A1%86/enter.html")
time.sleep(2)
dx.find_element_by_class_name("alert").click() #点击确认按钮
time.sleep(2)
tk=dx.switch_to.alert #切换到框内
time.sleep(2)
tk.accept() #确认

四.输入性按钮

打开链接--找到按钮--点击--切换窗口--接受
from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("file:///E:/dcs/two/selenium/%E5%BC%B9%E6%A1%86/prompt.html")
time.sleep(2)
dx.find_element_by_class_name("alert").click() #点击确认按钮
time.sleep(2)
tk=dx.switch_to.alert #切换到框内
tk.send_keys("dcs") #输入内容
time.sleep(2)
tk.accept() #确认

五.上传文件类型

选择需要上传的框框--.send_keys(r"目标文件的本地路径")

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("file:///E:/dcs/two/selenium/%E5%BC%B9%E6%A1%86/upload_file.html")
time.sleep(2)
dx.find_element_by_id("file").send_keys(r"E:\az\ls\tttt.txt")

六.frame框京东的页面:


代码:
进入frame框:dx.switch_to.frame(wz)
退出frame框:dx.switch_to.default_content()

京东链接地址:https://graph.qq.com/oauth2.0/show?which=Login&display=pc&response_type=code&state=F0BE062356EAD84676C4CD60B26E2A8877AF3617BC5D527476899F1F50B0C789A2FD39C9BBE8F6311FFDA89EA89F9581&client_id=100273020&redirect_uri=https%3A%2F%2Fqq.jd.com%2Fnew%2Fqq%2Fcallback.action%3Fuuid%3D7831301c1cb641c6b81b35537bb966f7

网易邮箱

链接:https://smart.mail.163.com/login.htm?df=smart_android&utm_source=email_mobile

案例:

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("https://graph.qq.com/oauth2.0/show?which=Login&display=pc&response_type=code&state=F0BE062356EAD84676C4CD60B26E2A8877AF3617BC5D527476899F1F50B0C789A2FD39C9BBE8F6311FFDA89EA89F9581&client_id=100273020&redirect_uri=https%3A%2F%2Fqq.jd.com%2Fnew%2Fqq%2Fcallback.action%3Fuuid%3D7831301c1cb641c6b81b35537bb966f7")
time.sleep(2)
wz=dx.find_element_by_id("ptlogin_iframe")
dx.switch_to.frame(wz)
time.sleep(2)
dx.find_element_by_link_text("密码登录").click()
time.sleep(2)
dx.switch_to.default_content() #退出框
time.sleep(2)
dx.find_element_by_link_text("服务协议").click()

作业:163邮箱

posted @ 2025-03-20 20:11  君庭  阅读(80)  评论(0)    收藏  举报