python+selenium实现修改日期控件的值

这篇具有很好参考价值的文章主要介绍了python+selenium实现修改日期控件的值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

因为一些input标签,具有readonly属性,我们去要去掉readonly属性,才能实现对input标签的输入;一开始的时候我在网上查了很对资料,最终实现了,不多说了,直接上代码:

#开始日期

        # js = 'document.getElementsByClassName("ant-calendar-picker-input ant-input")[0].removeAttribute("readOnly")'.format("//*[@id='root']/div/div[2]/div/div[2]/div/div/div/div/div[2]/div[2]/div/div/div[1]/div/form/div[2]/div/div/span/span/input")   # 使用js临时移除readonly属性
        js = 'document.getElementsByClassName("ant-calendar-picker-input ant-input")[0].removeAttribute("readOnly")'
        self.driver.execute_script(js)  # 执行js



        time.sleep(1)
        self.driver.find_element(By.XPATH,"//*[@id='root']/div/div[2]/div/div[2]/div/div/div/div/div[2]/div[2]/div/div/div[1]/div/form/div[2]/div/div/span/span/input") .clear()
        time.sleep(1)
        # self.driver.find_element(By.XPATH,"//*[@id='root']/div/div[2]/div/div[2]/div/div/div/div/div[2]/div[2]/div/div/div[1]/div/form/div[2]/div/div/span/span/input").send_keys('2023-08-24 00:00:00')  # 定位日期下拉框(此时的下拉框已经可以输入了)  # 输入完执行点击,使数据存入
        # self.driver.find_elements(By.CLASS_NAME,"ant-calendar-picker-input.ant-input")[0].send_keys("2023-08-24 00:00")
        js_value = 'document.getElementsByClassName("ant-calendar-picker-input ant-input")[0].value="2023-08-02 00:00"'
        self.driver.execute_script(js_value)

在实现过程中,我遇到了一些问题,比如去掉readonly属性之后,重新赋值没有成功,后来又加了一行代码, self.driver.find_element(By.XPATH,"//*[@id='root']/div/div[2]/div/div[2]/div/div/div/div/div[2]/div[2]/div/div/div[1]/div/form/div[2]/div/div/span/span/input") .clear()   目的就是把原来的默认值删掉;发现删掉后,还是赋值失败,最终运用js代码 js_value = 'document.getElementsByClassName("ant-calendar-picker-input ant-input")[0].value="2023-08-02 00:00"'
        self.driver.execute_script(js_value)赋值成功了;

其实上述并不能实现;

接下来展示另外一种方法(模拟键盘输入):

hos = self.driver.find_element(By.XPATH,"//*[@id='root']/div/div[2]/div/div[2]/div/div/div/div/div[2]/div[2]/div/div/div[1]/div/form/div[2]/div/div/span/span/input")
        print("开始日期不可编辑:{}".format(hos.is_enabled()))
        hos.click()
        time.sleep(2)
        self.driver.find_element(By.XPATH,"/html/body/div[2]/div/div/div/div/div[1]/div/input").click()
        win32api.keybd_event(17, 0, 0, 0)  # ctrl键位码是17
        win32api.keybd_event(65, 0, 0, 0)  # a键位码是65
        win32api.keybd_event(65, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放按键
        win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
        pyautogui.typewrite('2023-09-11 00:00')

python模拟按键 python如何模拟键盘输入可以参考:python模拟按键 python如何模拟键盘输入_mob6454cc6441b6的技术博客_51CTO博客python模拟按键 python如何模拟键盘输入,Python模拟键盘输入和鼠标操作一、Python键盘输入模拟:importwin32apiimportwin32conwin32api.keybd_event(17,0,0,0)#ctrl键位码是17win32api.keybd_event(86,0,0,0)#v键位码是86win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUPhttps://blog.51cto.com/u_16099185/6444100

如何在 Python 中模拟键盘输入,可以参考:如何在 Python 中模拟键盘输入-火焰兔Python 是一种高级编程语言,它可以用于开发各种应用程序,包括自动化测试、Web 开发、科学计算等。在 Python 中模拟键盘输入是一种常见的需求,它可以帮助我们自动化完成一些重复性的任务,提高工作效率。本文将介绍如何在 Pythonhttps://www.zadmei.com/rhzpzmnj.html文章来源地址https://www.toymoban.com/news/detail-687965.html

到了这里,关于python+selenium实现修改日期控件的值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)

            本篇记录基于Python+Selenium.webdriver实现WEB端UI自动化测试,其中测试用例使用excel维护。为了在实际项目种的扩展应用,建议学习webdriver的元素定位方法,欢迎在评论区沟通讨论。 该示例选取的是登录页不需要输入验证码校验的基础页面(考虑到现在大部分项目都是

    2023年04月08日
    浏览(55)
  • 【Web项目实战】从零开始学习Web自动化测试:用Python和Selenium实现网站登录功能

    B站首推!2023最详细自动化测试合集,小白皆可掌握,让测试变得简单、快捷、可靠 https://www.bilibili.com/video/BV1ua4y1V7Db 目录 1.环境搭建

    2024年02月06日
    浏览(67)
  • python+pytest+selenium+PO+allure+DDT实现web自动化测试

    python:编程语言 pytest:独立的、全功能的python单元测试框架 selenium:用于web应用程序测试的工具 allure:测试报告展示 ddt:数据驱动 1.1 python解释器 3.10版本 1.2 pycharm集成开发环境 社区版 下载浏览器驱动,浏览器驱动版本要与浏览器版本一致。 下载地址: Chrome:http://npm.ta

    2024年02月02日
    浏览(58)
  • 基于python实现Web自动化测试(selenium)、API自动化测试(requests)&附学习视频

    另一篇文章 :自动化测试框架(pytest)附学习视频 学习视频,学习文档-白月黑羽 说明: 1紧跟着写的不加/,不加空格-表示同一级别信息,加空格表示后代 2.css定位tag,id,class时分别有不同的标识,其他属性都要加[]进行搜索, Xpath所有属性都要都加【】,tag不用 3. css在使用ta

    2024年02月03日
    浏览(102)
  • 〖Python WEB 自动化测试实战篇⑨〗- 实战 - selenium 实现浏览器标签页的切换

    订阅 Python全栈白宝书-零基础入门篇 可报销! 白嫖入口-请点击我。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏, 免费阶段订阅数量4300+ , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:加入社区的小伙

    2023年04月08日
    浏览(76)
  • Web 攻防之业务安全:验证码绕过测试.(修改数据包中 res_code 的值 实现绕过.)

    业务安全是指保护业务系统免受安全威胁的措施或手段。 广义 的业务安全应包括业务运行的 软硬件平台 (操作系统、数据库,中间件等)、 业务系统自身 (软件或设备)、 业务所提供的服务安全 ; 狭义 的业务安全指 业务系统自有的软件与服务的安全 。 验证码绕过测试

    2023年04月14日
    浏览(56)
  • python基于Selenium的web自动化框架

    1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并可以把录制的操作以多种语言(例

    2024年02月02日
    浏览(58)
  • 【web自动化】selenium+python八大元素定位

    推荐:b站软件测试老白 注意点 1.有id才能能使用id定位 2.id不能重复 通过百度页面,演示如何查找id确定id是否重复,其他方式定位也可以这样搜索 代码如下(示例): 如果有多个class_name,可以使用 find_elements 和取下标的方式 例如:打开哔哩哔哩页面,有番剧,电影等等,他

    2024年01月21日
    浏览(82)
  • 基于Selenium+Python的web自动化测试框架

    一、什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言

    2024年02月02日
    浏览(73)
  • Python+selenium,轻松搭建 Web 自动化测试框架

    在程序员的世界中,一切重复性的工作,都应该通过程序自动执行。 「自动化测试」就是一个最好的例子。 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的业务要求,只能被企业逐步裁员淘汰。 「自动化测试

    2024年02月10日
    浏览(103)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包