python-2.7 - Selenium 没有将精确文本从 excel 复制到日期文本框
问题描述
我正在尝试从 excel 中检索日期并使用 send_keys()
函数将其输入到文本框中。我从 excel 中检索的日期是4/10/2019
,但是当我运行我的脚本时,显示的结果是20191004000000
。我可以知道,我该如何解决这个问题,或者有没有其他方法可以输入date
而不是使用send_key()
?我见过有人用
IJavaScriptExecutor jse = (IJavaScriptExecutor)driver;
jse.ExecuteScript($"arguments[0].value='{employmentParam.StartDate}';", wb);
输入值,但不知道它做了什么。
我尝试不添加str()
around date
,但错误变成 了object of type 'datetime.datetime' has no len()
在这里,我从 excel 中读取日期
date = XLUtlis.readData(path, 'BO', r, 19)
date
在这里我写到textbox
driver.find_element_by_xpath('//[@id="mainContentHolder_dtlNew_txtOriginalEsd"]').send_keys(str(date))
编辑:
我发现当脚本从 excel 复制时,它以某种方式复制2019-10-04 00:00:00
,但是当它通过 输入时send_keys()
,它忽略了特殊符号,例如 - :
. 知道为什么会这样。
解决方案
首先,您需要将数据类型从日期时间转换为字符串。然后您可以将 send_keys 与字符串值一起使用。根据我的经验,我推荐使用字符串类型来设置输入元素的值。
start_date = employmentParam.StartDate.strftime("%d/%m/%Y")
driver.find_element_by_xpath('//[@id="mainContentHolder_dtlNew_txtOriginalEsd"]').send_keys(start_date)
推荐阅读
- excel - 输入数字 1、1.1、1.2 等的公式
- android-studio - 我更改了我的包名称,然后我的应用程序在主要活动中崩溃
- python-3.x - 在一行python3中搜索追加和打印
- css - 无法更改背景颜色且找不到元素
- r - 如何使用某些数据为组查找新列?
- java - ArrayIndexOutOfBounds 应在边界内的对象上
- javascript - eval() 替换,但它是什么意思?需要解释
- amazon-web-services - AWS API Gateway - 一切都“需要 API 密钥”
- javascript - 为什么 string.includes 在 Javascript 中返回错误?
- jquery - 使用 jquery 的 for 循环创建的 Flask 更新 div