selenium-文件上传和弹框处理

一.文件上传

input标签可以直接用send_keys(文件地址)上传文件

用法:

  • 先定位元素
  • send_keys('文件路径+文件名')
from time import sleep

from selenium_frame_window.base import Base


class TestFile(Base):
    def test_file_upload(self):
        self.driver.get("https://image.baidu.com/")
        self.driver.find_element_by_xpath('//*[@id="sttb"]/img[1]').click()
       self.driver.find_element_by_id("stfile").send_keys("C:/Users/pythonProject3/selenium_file/img/it_beijing-003.jpg")
        sleep(3)

二.弹框处理

弹框类型:alert、confirm、prompt 弹框

操作弹框

常用方法

  • switch_to.alert():获取当前页面的警告框
  • text:返回alert、confirm、prompt 弹框中文字信息
  • accept():接受现有警告框,点击确定
  • dismiss():解散现有警告框,点击取消
  • send_keys():发送文本至告警框
from time import sleep

from selenium.webdriver import ActionChains

from selenium_frame_window.base import Base


class TestFile(Base):
    def test_alert(self):
        self.driver.get("https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable")
        self.driver.switch_to.frame("iframeResult")
        drag_ele = self.driver.find_element_by_id("draggable")
        drop_ele = self.driver.find_element_by_id("droppable")
        action = ActionChains(self.driver)
        action.drag_and_drop(drag_ele,drop_ele).perform()
        print("点击alert 确认")
        self.driver.switch_to.alert.accept()
        self.driver.switch_to.default_content()
        self.driver.find_element_by_id('submitBTN').click()
        sleep(3)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Selenium中,打开文件对话框是通过操作input标签的方式实现的。首先,找到对应的input标签,然后使用send_keys方法来传递文件路径。以下是一个示例代码: ```python from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(8) driver.get("http://your_website_url") # 找到文件上传的input标签 file_input = driver.find_element_by_xpath("//input[@type='file']") # 使用send_keys方法传递文件路径 file_input.send_keys("path_to_your_file") ``` 在这个代码中,我们使用了`find_element_by_xpath`方法来定位文件上传的input标签,你需要根据实际情况来修改`"path_to_your_file"`为你的文件路径。然后,使用`send_keys`方法来传递文件路径。这样就可以模拟点击文件上传按钮并选择文件的操作了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Selenium/Appium自动化测试中的弹出对话框处理](https://blog.csdn.net/beichanbb/article/details/122518369)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python+Selenium-基础篇9 之弹出对话框点击](https://blog.csdn.net/aa122509969/article/details/122964669)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值