switch_to_alert().text
时间: 2023-09-15 11:18:54 浏览: 163
switch_to_alert().text 是 Selenium WebDriver 中的一个方法,用于切换到当前页面的弹窗,并获取弹窗中的文本内容。具体用法如下:
1. 使用 switch_to.alert() 方法切换到当前页面的弹窗。
2. 使用 text 属性获取弹窗中的文本内容。
示例代码如下:
```python
from selenium import webdriver
# 创建 WebDriver 对象
driver = webdriver.Chrome()
# 访问页面
driver.get("https://www.example.com")
# 点击按钮,弹出弹窗
button = driver.find_element_by_xpath("//button")
button.click()
# 切换到弹窗,并获取弹窗中的文本内容
alert = driver.switch_to.alert
alert_text = alert.text
print(alert_text)
# 关闭弹窗
alert.accept()
# 关闭浏览器
driver.quit()
```
注意:如果页面没有弹窗,调用 switch_to_alert() 方法会抛出 NoAlertPresentException 异常。
相关问题
switch_to.alert 切换到弹窗上的方法 switch_to.alert.text 得到弹窗的文本内容的方法 switch_to.alert.accept() 确认弹窗的方法 switch_to.alert.dismiss()取消弹窗的方法
没错,`switch_to.alert`可以切换到弹窗上,`switch_to.alert.text`可以获取弹窗的文本内容,`switch_to.alert.accept()`可以确认弹窗,`switch_to.alert.dismiss()`可以取消弹窗。需要注意的是,这些方法只能在弹窗出现后才能调用,否则会抛出`NoAlertPresentException`异常。同时,只有在当前页面存在弹窗时才能切换到弹窗上,否则也会抛出异常。
import time from ERP_PO_2.Website.test_case.page_object.BasePage import BasePage from selenium.webdriver.common.by import By from ERP_PO_2.Website.test_case.model.myuint import Myunit class Addpage(BasePage,Myunit): PinPai = (By.XPATH, '//*[@id="leftmenu_asset_brand"]/a') XinZeng = (By.XPATH, '//*[@id="content"]/div[2]/div/div[1]/button') # 新增按钮 PP_1 = (By.XPATH, '//*[@id="title"]') # 品牌名称 PP_2 = (By.XPATH, '//*[@id="code"]') # 品牌编码 BaoCun = (By.XPATH, '//*[@id="submitButton"]') # 保存 def CaoZuo(self,data): time.sleep(3) self.find_el(*self.PinPai).click() self.find_el(*self.XinZeng).click() self.find_el(*self.PP_1).send_keys(data[0]) self.find_el(*self.PP_2).send_keys(data[1]) self.find_el(*self.BaoCun).click() time.sleep(3) text = self.driver.switch_to.alert.text self.driver.switch_to.alert.accept() time.sleep(2) print(text) return text def CZ(driver,data): #CZ = Addpage(driver) return Addpage(driver).CaoZuo(data)以上代码封装了吗 体现在哪里
是的,以上代码进行了页面对象模式的封装。封装体现在以下几个方面:
1. 定义了一个基础页面类(BasePage),其他页面对象类继承该类,避免重复编写相同的代码。
2. 使用了By类,封装了查找元素的方法,方便代码编写和维护。
3. 将测试数据作为参数传入到方法中,提高了代码的灵活性和可重用性。
4. 将页面操作方法封装在一个方法中(CaoZuo),方便调用和管理。
5. 封装了一个CZ方法,将Addpage(driver)的实例化和操作方法的调用封装在一起,方便调用和管理。
阅读全文