如何使用 Python 覆盖 Selenium 中已有条目的特定字段
How to Overwrite a Specific Field with Pre-existing Entry in Selenium with Python
所以我试图覆盖我必须插入当前日期的日期字段,以便数据提取始终是最新的。我目前已经找到了用 Selenium Webdriver 为 Chrome 和 Python 覆盖日期字段的解决方案。但是,问题是日期不会覆盖与查询一起保存的内容。这是发送日期的当前代码。
# Select Current Date !!!NOTE ISSUE ON CURRENT DATE BEING SET!!!
# 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,"//input[@id='createdTo']")))
element.send_keys(date);
你可以看到完整的代码here
这是一张展示我需要的图片:
注意日历上方的 To 字段。我需要通过覆盖查询加载的日期来写入当前日期。当前代码如下所示写出日期:
如果您需要更多上下文,我问了另一个问题,以便弄清楚如何将当前日期发送到该字段。如前所述,我们想出了上面的代码。但是,它不会覆盖当前加载的数据。可以通过以下 .
找到更多上下文
按照@supputuri 的建议行之有效。
# Click Calendar Icon
# Element XPATH = //*[@id='collapseFour-1']/div/fieldset/import-date-select/div[1]/div[3]/div/span/button/i
element = WebDriverWait(browser, 20).until(
EC.element_to_be_clickable((By.XPATH, "//*[@id='collapseFour-1']/div/fieldset/import-date-select/div[1]/div[3]/div/span/button/i")))
element.click();
# Click Today Button on Calendar
# Element XPATH = //*[@id='collapseFour-1']/div/fieldset/import-date-select/div[1]/div[3]/div/ul/li[2]/span/button[1]
element = WebDriverWait(browser, 20).until(
EC.element_to_be_clickable((By.XPATH, "//*[@id='collapseFour-1']/div/fieldset/import-date-select/div[1]/div[3]/div/ul/li[2]/span/button[1]")))
element.click();
本质上,我所要做的就是点击“今天”按钮。
所以我试图覆盖我必须插入当前日期的日期字段,以便数据提取始终是最新的。我目前已经找到了用 Selenium Webdriver 为 Chrome 和 Python 覆盖日期字段的解决方案。但是,问题是日期不会覆盖与查询一起保存的内容。这是发送日期的当前代码。
# Select Current Date !!!NOTE ISSUE ON CURRENT DATE BEING SET!!!
# 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,"//input[@id='createdTo']")))
element.send_keys(date);
你可以看到完整的代码here
这是一张展示我需要的图片:
注意日历上方的 To 字段。我需要通过覆盖查询加载的日期来写入当前日期。当前代码如下所示写出日期:
如果您需要更多上下文,我问了另一个问题,以便弄清楚如何将当前日期发送到该字段。如前所述,我们想出了上面的代码。但是,它不会覆盖当前加载的数据。可以通过以下
按照@supputuri 的建议行之有效。
# Click Calendar Icon
# Element XPATH = //*[@id='collapseFour-1']/div/fieldset/import-date-select/div[1]/div[3]/div/span/button/i
element = WebDriverWait(browser, 20).until(
EC.element_to_be_clickable((By.XPATH, "//*[@id='collapseFour-1']/div/fieldset/import-date-select/div[1]/div[3]/div/span/button/i")))
element.click();
# Click Today Button on Calendar
# Element XPATH = //*[@id='collapseFour-1']/div/fieldset/import-date-select/div[1]/div[3]/div/ul/li[2]/span/button[1]
element = WebDriverWait(browser, 20).until(
EC.element_to_be_clickable((By.XPATH, "//*[@id='collapseFour-1']/div/fieldset/import-date-select/div[1]/div[3]/div/ul/li[2]/span/button[1]")))
element.click();
本质上,我所要做的就是点击“今天”按钮。