当前位置: 首页 > 知识库问答 >
问题:

红宝石硒元素的发现与进入

齐博厚
2023-03-14

我是Selenium和Ruby以及Cucumber/Gherkins世界的新手,正在尝试一个简单的脚本来导航到Google页面,找到搜索栏并输入一个单词,然后按enter或找到“Google search”元素并单击。

require 'rubygems'
require 'selenium-webdriver'

driver = Selenium::WebDriver.for :chrome

Given(/^I am on the Google website$/) do
  driver.navigate.to "http://www.google.com"
end

When(/^search is entered$/) do
  search = driver.find_element(xpath: "//div[@class = 'jhp big']//input[@class = 'gLFyf gsfi']")
  search.send_keys "this"
end

Then(/^confirm$/) do
  puts "Confirmed"
  driver.close
end
Selenium::WebDriver::Error::NoSuchElementError: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@class = 'jhp big']//input[@class = 'gLFyf gsfi']"}

此外,要单击“Enter”,我可以执行send_keys:Enter或find Search按钮,并使用“click”正确吗?

提前谢谢你

共有1个答案

景帅
2023-03-14

您必须使用隐式wait for driver来等待直到找到元素,编写以下代码,然后将其放入cucumber模型

require 'selenium-webdriver'
driver=Selenium::WebDriver.for :chrome
driver.navigate.to("https://www.google.com/")
driver.manage.timeouts.implicit_wait=10
driver.find_element(name: 'q').send_keys 'raja'
driver.find_element(name: 'btnK').click

但是请记住,如果你是一个包装硒绑定,这种等待是自动的。

 类似资料:
  • 我正在使用Ruby和Selenium web驱动程序测试一个webapp。我无法检查显示网页中单元格的内容。我想要的是td中的IP。 我使用Firefox插件firepath获取IP的Xpath。它给出了“html/body/div[1]/div[2]/div[3]/form/table/tbody/tr[1]/td[6]/ul/li”,看起来是正确的。 但是我无法显示IP。这是我的测试代码; 把

  • 在我的docker服务器上,我在sidekiq/redis URL-URL-Sespecification上出错: 我明白了 URI::InvalidURIError:方案redis不接受注册表部分:bsc\u redis:6379(或错误的主机名?)来自/usr/local/lib/ruby/2.0.0/uri/generic。rb:214:innew'from/usr/local/lib/ru

  • 使用以下设置输出 2.6.0:006 环境 > 使用以下设置输出 2.1.2:006 环境 Mozilla Firefox 52.2.0 ruby 2.1.2p95 (2014-05-08修订版45877)[x86_64-linux] Selenium-webdrive-2.53.4

  • 我想更新个人资料(accounts.google.com)中的工作、教育、基本信息和联系信息 我有文件“Testcases.feature” 场景:用户可以更新工作信息 我无法单击“编辑”按钮,因为网站中存在许多“编辑”按钮 当我运行cmd时: 中,我单击“编辑”按钮'

  • 对于一个电子商务应用程序,我试图将选项的散列(每个选项都有一个选择数组)转换为表示这些选择组合的散列数组。例如: 输入内部可能有其他选项,每个选项的选项数量不确定,但它只会嵌套 1 级深。任何

  • 我和我的团队最近开始使用SeleniumWeb驱动程序和JUnit开发自动化脚本。我面临着一个问题,我真的对如何继续下去毫无想法。任何建议都是有用的。 问题是这样的:我有一个页面,在这个页面中,我在一个表单中上传了两个电子表格,然后按submit按钮确认上传。 上传完成后,它会用数据填充数据库,下一页会确认每个excel的行数。 我正在尝试获取确认上传的“标签”类型的元素。 所有这些都可以在本地成