什么是alert弹框呢?
F12定位不到元素的弹出框,一般称之为alert弹出框,因为它不是html元素。如下图: 这种F12定位不到
针对这种我们怎么做呢?
哎~ selenium里提供了switch_to.alert方法供我们使用。具体代码如下
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("http://u.lrswl.com/?action=login")
#点击登入
driver.find_element_by_xpath('//td//input[@name="image"]').click()
#等待alert弹出框
WebDriverWait(driver,20).until(EC.alert_is_present())
#切换
alert = driver.switch_to.alert
#点击确定,使弹出框消失
alert.accept()
alert 不止.accept() 方法,还有:
alert.text – 获取alert弹框的文本内容
alert.accept() —点击确定
alert.dismiss() — 点击取消
alert.send_keys() —输入内容
题外话:
selenium当中的元素,有四个基本的操作。
1、click()
2、send_keys()
3、WebElement对象.text # 文本
4、WebElement对象.get_attribute(属性名称) # 属性获取