vendorTab = driver.a id: "tab-master-tab-vendor"
vendorTab.wait_until_present
if vendorTab.exists?
vendorTab.click
end
addNewButton = driver.button class: ['btn btn-primary']
addNewButton.wait_until_present
if addNewButton.exists?
addNewButton.click
end
但是,当我移动到另一个选项卡并尝试单击相同的“添加新”按钮时,Ruby脚本不起作用。 我的Ruby代码有什么问题吗?
buildingTypeTab = driver.a id: "tab-master-tab-building"
buildingTypeTab.wait_until_present
if buildingTypeTab.exists?
buildingTypeTab.click
end
addNewButton = driver.button class: ['btn btn-primary']
addNewButton.wait_until_present
if addNewButton.exists?
addNewButton.click
end
我感谢你的帮助。非常感谢你。
答案 0 :(得分:3)
我猜所有这些标签都属于同一个网页?即,所有HTML都在同一个HTML中?
如果是这种情况,driver.button class: ['btn btn-primary']
将在HTML中找到第一个实例时停止,但这不是您每次都要查找的按钮(它是第一个选项卡中的按钮,您的脚本按预期工作的地方。)
我心中最好的选择是
id
代替class
)或 button_collection = browser.buttons(:class, ['btn', 'btn-primary'])
button_collection[2].click # Will click the 3rd button in the collection
答案 1 :(得分:0)
阅读pjd的建议后, 我修改了一下,让它像这样工作:
buildingTypeTab = driver.a id: "tab-master-tab-building"
buildingTypeTab.wait_until_present
if buildingTypeTab.exists?
buildingTypeTab.click
end
addNewButton = driver.button(:class => ['btn btn-primary'], :index => 2)
addNewButton.wait_until_present
if addNewButton.exists?
addNewButton.click
end
正如pjd所说,是的,所有这些标签都是同一个HTML的一部分
谢谢。