Internet explorer IE上的watir webdriver在从选择列表中选择值方面的行为与Chrome和FireFox不同 在FireFox和Chrome中,这会在jquery、IE中触发其他事件 查看选择框的UI更改为打开,但未触发任何操作 我查看了firebug中发生的事件,并试图拨打电话 fire_事件(“更改”)和显示的其他事件,但没有显示 工作 该代码在Firefox5、Chrome12中有效,但在IE9中无法使用 Windows上Ruby 1.8.7 patchlevel 334上的最新gems

Internet explorer IE上的watir webdriver在从选择列表中选择值方面的行为与Chrome和FireFox不同 在FireFox和Chrome中,这会在jquery、IE中触发其他事件 查看选择框的UI更改为打开,但未触发任何操作 我查看了firebug中发生的事件,并试图拨打电话 fire_事件(“更改”)和显示的其他事件,但没有显示 工作 该代码在Firefox5、Chrome12中有效,但在IE9中无法使用 Windows上Ruby 1.8.7 patchlevel 334上的最新gems,internet-explorer,watir,browser-automation,watir-webdriver,Internet Explorer,Watir,Browser Automation,Watir Webdriver,试试: selectctrl = @browser.select(:xpath, "//select[id='foo']") selectctrl.select("Open") 您应该避免使用xpath,因为它在IE中存在问题,可读性较差 selectctrl.select 'open' selectctrl.fire_event 'change' 尝试: 您应该避免使用xpath,因为它在IE中存在问题,可读性较差 selectctrl.select 'open' selectctrl.f

试试:

selectctrl = @browser.select(:xpath, "//select[id='foo']")
selectctrl.select("Open")
您应该避免使用xpath,因为它在IE中存在问题,可读性较差

selectctrl.select 'open'
selectctrl.fire_event 'change'
尝试:

您应该避免使用xpath,因为它在IE中存在问题,可读性较差

selectctrl.select 'open'
selectctrl.fire_event 'change'

我们使用xpath来选择html控件、id和类的更改,但自定义html属性总是不变的(特别是在.NET3.5网站中)。IE不正确支持xpath。在FireFox和Chrome中使用xpath跨越4000个步骤没有任何问题。是的,我已经尝试过了,它没有出错,但在IE 9中除了将select ctrl更改为Open之外,它也没有做任何事情,但是与更改(启用另一个按钮)挂钩的其他事件没有触发。而在Chrome和FireFox中,它们确实如此。认真地说,只有在需要的时候才使用xpath,通常速度也较慢。另外,就我个人而言,这是一个更精简、更容易阅读的浏览器。选择列表(:id,'foo')。选择('Open')——因为它在一行中为您提供了正在执行的元素和正在执行的操作。您可以创建自定义元素,如testid='Login',并始终执行browser.button(:xpath,//button[@testid='Login'])而且永远不必担心开发人员在id或类方面的更改,或者可能导致自动化失败的语言更改。为什么不使用XPATH?读起来有多难?在整个页面上只有一个元素具有testid=Login。是的,我注意到它比较慢,但总是有保证的。我们使用xpath来选择html控件、id和类的更改,但自定义html属性总是不变的(特别是在.net 3.5网站中)。IE不正确支持xpath。在FireFox和Chrome中使用xpath跨越4000个步骤没有任何问题。是的,我已经尝试过了,它没有出错,但在IE 9中除了将select ctrl更改为Open之外,它也没有做任何事情,但是与更改(启用另一个按钮)挂钩的其他事件没有触发。而在Chrome和FireFox中,它们确实如此。认真地说,只有在需要的时候才使用xpath,通常速度也较慢。另外,就我个人而言,这是一个更精简、更容易阅读的浏览器。选择列表(:id,'foo')。选择('Open')——因为它在一行中为您提供了正在执行的元素和正在执行的操作。您可以创建自定义元素,如testid='Login',并始终执行browser.button(:xpath,//button[@testid='Login'])而且永远不必担心开发人员在id或类方面的更改,或者可能导致自动化失败的语言更改。为什么不使用XPATH?读起来有多难?在整个页面上只有一个元素具有testid=Login。是的,我注意到它比较慢,但它总是有保证的。你检查了哪些javascript事件被触发了吗?是的,使用firebug并将日志记录设置为select元素,它显示了我试图使用fire_事件调用的标准javascript元素。虽然它在firefox中工作,但在IE9中不起作用。您检查过哪些javascript事件被触发了吗?是的,使用firebug并将日志记录设置为select元素,它显示了我试图使用fire_事件调用的标准javascript元素。虽然它在firefox中工作,但在IE9中不起作用。