基本操作:iframe、alert

背景

如果你的目标元素出现在一个iframe标签下,则不能直接定位,必须先完成切换才能进行定位操作,如下图

整个理解为一个大的房间,里面是客厅,driver进到客厅后,如果想操作iframe A里的数据,需要进入A,同理
如果操作其它房间,先从A出来,然后再进b

iframe

在这里插入图片描述

操作

进入ifram方法
方法一直接切换到iframe
#第一步:先定位iframe标签
time.sleep(5)
iframe_element = driver.find_element(By.CSS_SELECTOR,'iframe[frameborder="0"]')

#第二步:切换到iframe
driver.switch_to.frame(iframe_element)

#第三步:操作iframe里面的元素
email = driver.find_element(By.NAME,'email').send_keys('xx')
方法二 通过索引切入
#第二步:切换到iframe
driver.switch_to.frame(0) #前提:需要知道iframe的索引

#第三步:操作iframe里面的元素
email = driver.find_element(By.NAME,'email').send_keys('xx')
从iframe再切换到默认
driver.switch_to.defalut_content()#返回driver默认所在的html,其实就是最外层的
切换到父级

从D切换到b

driver.switch_to.parent_frame()

在这里插入图片描述

alert

切换到alert弹窗
driver.switch_to.alert #切换到弹窗
点击确认/确定
alert =driver.switch_to.alert
alert.accept()
点击取消
alert =driver.switch_to.alert
alert.dismiss()
向弹窗输入文字
alert =driver.switch_to.alert
alert.send_keys('xx')
获取弹窗上的提示语
alert =driver.switch_to.alert
alert.text
demo
options  = webdriver.ChromeOptions()
driver = webdriver.Chrome(options = options)
driver.get('https://www.w3cschool.cn/tryrun/showhtml/tryjs_alert')
driver.maximize_window()
time.sleep(2)

#切换到frame
driver.switch_to.frame('result-iframe')
#点击后出现js弹窗
driver.find_element(By.XPATH,'//input[@value="显示警告框"]').click()
#切换到alert对象
alert =driver.switch_to.alert
assert '警告' in alert.text
alert.accept()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值