0

我正在屏幕抓取一个页面,其中包含一个链接,该链接生成一个弹出窗口,该窗口由一个选择列表和一个按钮组成,用于执行您的选择。目的是点击主页上的链接,在弹出的窗口中进行选择,点击链接确认选择,然后在主网页上查看新的选择。

以下是我在 Celerity 中采取的步骤和结果:

popup_browser = browser.image(:alt, 'Holidays').click_and_attach
#this creates a new browser to deal with the popup window
popup_browser.select_list(:id, 'ddlSlot1').select_value('Christmas')
#Selecting Christmas from the select list
popup_browser.link(:id, 'btnChangeHoliday').click
#Confirms/Implements selection
popup_browser.close
#Closes popup browser
puts browser.div(:id, 'HolidayName').text
#Here I try to print the updated holiday but nothing is printed (no text value)

除了最后一行之外,一切似乎都运行良好。我已经进行了一些调试,并确认我的选择已经完成。单击弹出页面上的 ChangeHoliday 按钮后,似乎主网页没有更新。

任何想法或建议将不胜感激。

提前感谢您的帮助。

4

1 回答 1

0

事实证明这是一个简单的解决方法。脚本工作所需的唯一更改是将重新同步选项添加到浏览器初始化中。这样做后,脚本按预期工作。

browser = Celerity::IE.new(:resynchronize => true)
于 2010-12-31T22:58:20.803 回答