selenium的弹框的处理

弹框有三种:

1、alert,只有确定按钮的

2、confirm,有取消和确定按钮的

3、prompt,有取消、确定按钮以及输入内容的输入框

弹框不是html5的弹框而是系统弹框是,使用firebug无法定位,各个浏览器的样式不一样

代码如下:

driver.find_element_by_xpath('//*[@id="nr"]/option[2]').click()
driver.find_element_by_class_name('prefpanelgo').click()
time.sleep(0.5)
a = driver.switch_to.alert
print(a.text) #获取弹框上的内容
a.accept() #点按确定按钮
a.dismiss() #点按取消
a.send_keys('XXX') #弹框上输入内容

备注:需要再次回到页面操作时,不用切换直接用driver即可

若driver.find_element_by_class_name('prefpanelgo').click() 这一句点击无作用,则使用JS点击
jquery = '$(".prefpanelgo").click()'
driver.excute_script(jquery)
关于jquery的语法,语法和CSS类似,组成拆分如下
1、$('XXXXX').click() # XXXX代表CSS选择器的定位语法,这是一个点击事件
2、$('XXXXX').val('xxxxx') # 后面的XXXX代表着输入的内容,这是一个输入内容事件
人不可无方向
原文地址:https://www.cnblogs.com/yueyanru/p/9394230.html