【发布时间】: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