【发布时间】:2021-01-09 21:18:24
【问题描述】:
我正在自动化一些与网络相关的任务。为此,我正在使用硒。但是,经过几个小时的尝试,我无法弄清楚自动选择日期。我有两个日历。看图更好理解。
[
我想要实现的是从左右日历中选择两个日期。我想发送两个日期并在这两个日历上设置这些日期(也是月份和年份)。我试图做类似的事情。我为“k-calendar k-first-month”课程选择了 xpath。
calender_left = driver.find_element_by_xpath('//*[@id="filter-section-timeFilters"]/div/div[2]/div/div/div/div[2]/div/div[1]/div/div[1]')
ActionChains(driver).move_to_element(calender_left).click().send_keys('02/12/20').perform()
但是,没有运气。
更新:我决定使用 xPath 点击月份和年份按钮。
【问题讨论】:
-
您发送密钥的元素在屏幕截图中不可见。你还没有解释你到底有什么问题。你的行为的最终结果是什么?某种错误?您的定位器不可维护且不可读 - 您应该小心定位器的冗长(不要使用绝对 xPaths)。 html源会比这个屏幕更有用
-
@PiotrM。非常感谢您的反馈。我当前的代码什么都不做,也没有错误。我取了div的“k-calender k-first-month”类的xpath。
-
它不是那样工作的 :) 您可以将键发送到输入元素。否则,您必须准备更复杂的代码来选择日期。我对那个页面使用 Kendo JQuery 是对的吗?能否提供页面的url或源代码?
-
我已经解决了这个问题。我使用 xPaths 来回选择日期。但是,我感谢您的努力并打算帮助我 :) 这是很多 if else 条件... :(
-
我可以想象,我一直致力于自动化 kendo datepicker,它是一个相当复杂的小部件。嗯,你可以看看这个项目来改进你的工作:github.com/atata-framework/atata-kendoui
标签: selenium selenium-webdriver