我正在尝试使用selenium web automation从谷歌搜索中提取一个值。
from selenium import webdriver
import time
import os
#open googole.com
driver = webdriver.Chrome()
time.sleep(2)
driver.get("https://www.google.co.in")
#search for bitcoin exchange rates
elem = driver.find_element_by_id("lst-ib")
elem.clear()
time.sleep(2)
elem.send_keys("bitcoin exchange rates")
time.sleep(2)
driver.find_element_by_name("btnK").click()
time.sleep(2)
#Store the value in a variable
rate = driver.find_element_by_xpath('//*[@id="rso"]/div[1]/div/div/div[2]/span[1]')
RateValue = rate.text
TodayDate = time.strftime("%x")
这与Firefox浏览器完美配合。但是,当我使用Chrome运行时出现以下错误:
self.error_handler.check_response(响应) 文件" C:\ Users \ Alauddeen \ AppData \ Local \ Programs \ Python \ Python36-32 \ Lib \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py",第194行,在check_response中 提出exception_class(消息,屏幕,堆栈跟踪) selenium.common.exceptions.WebDriverException:消息:未知错误:元素在点(440,411)处无法单击。其他元素会收到点击:... (会话信息:chrome = 62.0.3202.94) (驱动程序信息:chromedriver = 2.33.506120(e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform = Windows NT 6.1.7601 SP1 x86)
我有什么东西在这里失踪吗?任何帮助表示赞赏。
谢谢!
答案 0 :(得分:1)
btnK
顶部可能存在搜索建议框,将其隐藏起来,因此无法点击。
使用类似
的内容elem.send_keys(Keys.ENTER)
或者
elem.send_keys(Keys.ESCAPE)
将搜索文本发送到输入后,使建议框消失。