深入浅出数据分析

十、Selenium文件上传弹框处理

2021-04-12  本文已影响0人  InsaneLoafer

文件上传

from time import sleep
from selenium import webdriver

class TestFile:
    def setup(self):
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.implicitly_wait(5)

    def teardown(self):
        self.driver.quit()

    def test_file_upload(self):
        self.driver.get("https://image.baidu.com/")
        self.driver.find_element_by_id("sttb").click()
        self.driver.find_element_by_id("uploadImg").send_keys("1.png")
        sleep(2)

弹框处理机制

模拟弹框

alert窗口处理案例

image.png
image.png
from time import sleep
from selenium import webdriver
from selenium.webdriver import ActionChains

class TestAlert:
    def setup(self):
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.implicitly_wait(5)

    def teardown(self):
        self.driver.quit()

    def test_alert(self):
        self.driver.get("https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable")
        self.driver.switch_to.frame("iframeResult") # 切换到iframe中
        drag = self.driver.find_element_by_id("draggable")
        drop = self.driver.find_element_by_id("droppable")
        action = ActionChains(self.driver)
        action.drag_and_drop(drag, drop).perform() # 将元素1拖拽到元素2
        sleep(2)
        alert = self.driver.switch_to.alert
        print(alert.text)   # 打印弹窗信息
        alert.accept()    # 点击弹框的确定
        self.driver.switch_to.default_content() # 切换到默认frame中
        self.driver.find_element_by_id("submitBTN").click()

下一节:Page Object设计模式,Page Object模式的发展历史介绍。

上一篇 下一篇

猜你喜欢

热点阅读