【问题标题】:What is the element name of Google search button?Google 搜索按钮的元素名称是什么?
【发布时间】:2021-04-17 19:36:16
【问题描述】:

我现在正在使用 Selenium 和 Ruby 自动截取屏幕截图,但是,我无法从开发人员工具中找到元素名称。如何在谷歌上点击“搜索”?

下面的代码有一个错误

没有这样的元素:无法找到元素:{"method":"css selector","selector":"*[name='btnG']"} (Selenium::WebDriver::Error::NoSuchElementError) (会话信息:chrome=87.0.4280.141)

我试过了

submitElement = driver.find_element(:name, 'svg') submitElement = driver.find_element(:class, 'FAuyhb')

但是没有用。


require "selenium-webdriver"

driver = Selenium::WebDriver.for :chrome

driver.navigate.to "https://www.google.co.jp/imghp"

inputElement = driver.find_element(:name, 'q')

inputElement.send_keys "iPhone11"

submitElement = driver.find_element(:name, 'btnG')


submitElement.click

driver.save_screenshot('tabetai.png')

driver.quit

【问题讨论】:

  • 实际上,Google Page 上有 2 个名为 q 的元素。第一个是针对移动用户的。使用 find_elements 获取元素列表并获取第二个元素(索引 1)
  • 我怎样才能让第二个更具体?
  • 请注意:Selenium 中有一个方便的方法用于提交表单... element.submit() 这可以用于表单中的任何元素来提交它。

标签: selenium google-chrome selenium-webdriver


【解决方案1】:

试试这个 xpath:

//按钮[@type='submit']

使用这条线

driver.find_element(:xpath => "//button[@type='submit']")

图片搜索中的搜索图标。

【讨论】:

  • 其实你的代码和截图是不同的页面。
  • submitElement = driver.find_element(:button, 'submit')←你是说这个吗?
  • driver.find_element(:xpath => "//button[@type='submit']").click & delete submitElement.click WORKED
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-24
  • 2019-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多