【发布时间】:2023-03-19 02:10:01
【问题描述】:
我正在尝试在日期选择器字段中选择一个日期,我希望能够通过在 selenium webdriver 上触发 javascript 来做到这一点。我尝试了下面的方法,它可以转到日期窗口,但是我认为应该有一种方法可以在@driver.execute_script() 中触发 javascript。 请有 JavaScript 专家帮忙吗?
require 'selenium-webdriver'
@browser = Selenium::WebDriver.for :chrome
@browser.navigate.to 'http://adam.goucher.ca/parkcalc/'
@browser.find_element(:xpath => "//img[@alt='Pick a date']").click
#collect all window handles
window_handles = @browser.window_handles.length
# printing the window ids
@browser.window_handles.map do |window|
p window
end
@browser.switch_to.window(@browser.window_handles.last)
@browser.find_element(:link => '4')
#sleep to watch that indeed the date is picked
sleep 5
@browser.quit
【问题讨论】:
-
您要同时领取这两个日期吗?
-
你能澄清一下你想用 JavaScript 做什么吗?你说你想选择一个日期,但这可以用很多方式来解释。例如,您是要指定日期而不打开弹出窗口,还是要在弹出窗口显示后单击带有 JavaScript 的链接,或者在打开弹出窗口后设置日期而不单击链接等?
-
@JustinKo:如果不打开弹出窗口,我认为我们无法从日历小部件中选择日期[将日期键入为文本不是我想要的]。所以我确实想打开弹出窗口,然后触发 javascript。
标签: javascript jquery ruby selenium