gpt4 book ai didi

ruby - 如何使用 Capybara 和 Ruby 切换 Frame?

转载 作者:行者123 更新时间:2023-12-02 04:18:20 27 4
gpt4 key购买 nike

我正在使用 Capybara 和 Ruby 开发原子测试。我需要切换框架来访问报告页面中的 web 元素,但我不知道该怎么做。

HTML 代码:

<iframe name="OF_jreport" id="OF_jreport" width="100%" height="100%" frameborder="0" border="0"></iframe>

我正在尝试:

def check_supplier_report()
sleep 10

@session.switch_to_frame("//*[@id=\"OF_jreport\"]")
teste = @session.find("//*[@id=\"GTC_CODE\"]").text
puts teste
end

但在控制台上返回以下错误:

You must provide a frame element, :parent, or :top when calling switch_to_frame (ArgumentError) ./features/helpers/commons.rb:158:in `check_supplier_report'

有人可以帮助我吗?谢谢

最佳答案

根据错误消息,switch_to_frame 似乎希望将框架元素作为参数传递。我相信您需要先找到框架,然后才能将其传递到此方法中。

因此,将此行 @session.switch_to_frame("//*[@id=\"OF_jreport\"]") 替换为以下两行:

# Find the frame
frame = @session.find("//*[@id=\"OF_jreport\"]")

# Switch to the frame
@session.switch_to_frame(frame)

关于ruby - 如何使用 Capybara 和 Ruby 切换 Frame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58140276/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com