gpt4 book ai didi

ruby - 检查元素是否存在

转载 作者:数据小太阳 更新时间:2023-10-29 06:57:09 26 4
gpt4 key购买 nike

有没有办法检查某个元素是否存在于 Selenium 网络驱动程序中?我尝试使用这段代码:

if @driver.find_element(:link, "Save").displayed? == true

但它会异常中断,这不是我所期望的,因为我仍然希望脚本继续运行。

最佳答案

我不是 Ruby 专家,可能会犯一些语法错误,但您可以大致了解一下:

if @driver.find_elements(:link, "Save").size() > 0

此代码不会抛出 NoSuchElementException

但是如果 implicitlyWait 大于零并且页面上没有元素,此方法将“挂起”一段时间。第二个问题 - 如果页面上存在元素但未显示,您将获得 true

解决方法尝试创建方法:

def is_element_present(how, what)
@driver.manage.timeouts.implicit_wait = 0
result = @driver.find_elements(how, what).size() > 0
if result
result = @driver.find_element(how, what).displayed?
end
@driver.manage.timeouts.implicit_wait = 30
return result
end

关于ruby - 检查元素是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13677263/

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