如何 Select 当前日期 and/or 使用系统变量或系统调用通过 Selenium 以 Python 日期和名称格式转发信息
How to Select Current Date and/or Use System Variables or System Calls to Forward Information with Selenium in Python Like Dates and Name Formats
所以我正在尝试 select 当前日期,或者使用来自 Powershell 的系统调用或 Linux/Mac 到带有 OS 模块的系统变量。我需要帮助来了解如何实现这一目标的最佳方式。
- 选项 1. 如何 select 日历中突出显示的日期
- 选项 2。如何使用将日期格式化为我想要的格式的系统变量
最好我喜欢选项2,因为系统变量将始终由计算机设置。所以我知道日期总是我需要的并且是最新的。
这是一张照片。
请注意,今天突出显示的部分是 27 号,也就是今天的日期。
但是,我认为系统变量可以将日期格式化为我想要的格式。
在 powershell 中,我知道命令是 Get-Date -UFormat %D
。但是,我想知道如何传递它,我也认为我的 XPATH 是错误的。
# Select Current Date
# Set Variable for OS_DATE to be in Format MM/DD/YYYY
# For Powershell $(Get-Date -UFormat %D)
# //*[@id='createdTo']/option[text()='01/27/2020']
#element = WebDriverWait(browser, 20).until(
# EC.element_to_be_clickable((By.XPATH,"//*[@id='createdTo']/option[text()='01/27/2020']")))
#element.click();
有人有什么建议吗?我试图在那里输入始终最新的日期,这是我需要更新的元素的来源。
<input type="text" aria-labelledby="dateTo" class="form-control ng-pristine ng-isolate-scope ng-valid-date ng-not-empty ng-valid ng-valid-required ng-touched" datepicker-popup="MM/dd/yyyy" ng-model="dateTo" show-weeks="false" is-open="uploadedTo" placeholder="MM/DD/YYYY" ng-change="changeUploadDate();" ng-keydown="dateInputKeyDown($event,'uploadedTo')" required="" name="createdTo" id="createdTo" style="">
这里还有 my Github Repository
上的源代码
我已经为此工作了一段时间,甚至从下面的回复中吸取了一些技巧。我终于想出了如何更新这个领域。但是,它不会覆盖该字段。我附上了屏幕截图和更新字段以展示整体问题的代码。
这是输入日期的代码
element = WebDriverWait(browser, 20).until(
EC.element_to_be_clickable((By.XPATH,"//input[@id='createdTo']")))
element.send_keys(date);
目前代码已被注释掉,因为不正确的日期会阻止文件下载。
所以这实际上适用于在我从代码中设置变量后打印日期。
element = WebDriverWait(browser, 20).until(
EC.element_to_be_clickable((By.XPATH,"//input[@id='createdTo']")))
element.send_keys(date);
变量显然是date,定义为
from datetime import date
# System Variables
today = date.today()
date = today.strftime("%m/%d/%Y")
所以我正在尝试 select 当前日期,或者使用来自 Powershell 的系统调用或 Linux/Mac 到带有 OS 模块的系统变量。我需要帮助来了解如何实现这一目标的最佳方式。
- 选项 1. 如何 select 日历中突出显示的日期
- 选项 2。如何使用将日期格式化为我想要的格式的系统变量
最好我喜欢选项2,因为系统变量将始终由计算机设置。所以我知道日期总是我需要的并且是最新的。
这是一张照片。
请注意,今天突出显示的部分是 27 号,也就是今天的日期。
但是,我认为系统变量可以将日期格式化为我想要的格式。
在 powershell 中,我知道命令是 Get-Date -UFormat %D
。但是,我想知道如何传递它,我也认为我的 XPATH 是错误的。
# Select Current Date
# Set Variable for OS_DATE to be in Format MM/DD/YYYY
# For Powershell $(Get-Date -UFormat %D)
# //*[@id='createdTo']/option[text()='01/27/2020']
#element = WebDriverWait(browser, 20).until(
# EC.element_to_be_clickable((By.XPATH,"//*[@id='createdTo']/option[text()='01/27/2020']")))
#element.click();
有人有什么建议吗?我试图在那里输入始终最新的日期,这是我需要更新的元素的来源。
<input type="text" aria-labelledby="dateTo" class="form-control ng-pristine ng-isolate-scope ng-valid-date ng-not-empty ng-valid ng-valid-required ng-touched" datepicker-popup="MM/dd/yyyy" ng-model="dateTo" show-weeks="false" is-open="uploadedTo" placeholder="MM/DD/YYYY" ng-change="changeUploadDate();" ng-keydown="dateInputKeyDown($event,'uploadedTo')" required="" name="createdTo" id="createdTo" style="">
这里还有 my Github Repository
上的源代码我已经为此工作了一段时间,甚至从下面的回复中吸取了一些技巧。我终于想出了如何更新这个领域。但是,它不会覆盖该字段。我附上了屏幕截图和更新字段以展示整体问题的代码。
这是输入日期的代码
element = WebDriverWait(browser, 20).until(
EC.element_to_be_clickable((By.XPATH,"//input[@id='createdTo']")))
element.send_keys(date);
目前代码已被注释掉,因为不正确的日期会阻止文件下载。
所以这实际上适用于在我从代码中设置变量后打印日期。
element = WebDriverWait(browser, 20).until(
EC.element_to_be_clickable((By.XPATH,"//input[@id='createdTo']")))
element.send_keys(date);
变量显然是date,定义为
from datetime import date
# System Variables
today = date.today()
date = today.strftime("%m/%d/%Y")