web自动化测试js处理日期控件
发布日期:2021-05-13 21:48:52 浏览次数:24 分类:精选文章

本文共 862 字,大约阅读时间需要 2 分钟。

处理12306网站的日期控件自动化问题

在处理12306网站的日期控件时,我们可能会遇到readonly属性阻止输入的情况。以下是解决方案:

  • 定位元素:使用JavaScript定位日期输入框,可以使用 document.getElementById("train_date")

  • 移除readonly属性:使用 removeAttribute("readonly") 去除readonly属性,使其可输入。

  • 清空输入框:使用 send_keys(Keys.BACKSPACE) 删除现有的输入内容。

  • 输入新日期:发送新的日期字符串,例如 "2021-03-15"。

  • 等待处理:添加适当的等待时间,确保元素状态更新。

  • 以下是示例代码:

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    with webdriver.Chrome() as driver:
    driver.get('https://www.12306.cn/index/')
    # 移除readonly属性
    js = 'document.getElementById("train_date").removeAttribute("readonly");'
    driver.execute_script(js)
    # 清空输入
    driver.find_element_by_id("train_date").send_keys(Keys.BACKSPACE)
    # 输入新日期
    driver.find_element_by_id("train_date").send_keys('2021-03-15')
    # 等待
    time.sleep(2)

    注意事项:

    • 确保日期格式正确。
    • 如果遇到多余字符,添加退格操作。
    • 确保等待时间足够,避免脚本失败。

    通过以上步骤,可以成功设置日期控件的值。

    上一篇:web自动化测试POM设计模式
    下一篇:web自动化测试下拉选择框Select

    发表评论

    最新留言

    关注你微信了!
    [***.104.42.241]2025年05月01日 08时29分44秒