2017-12-07 21 views
1

셀렌 웹 자동화를 사용하여 Google 검색에서 값을 추출하려고합니다.python-Selenium을 사용하여 제출 단추를 클릭 할 수 없습니다.

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(response) File "C:\Users\Alauddeen\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: Element is not clickable at point (440, 411). Other element would receive the click: ... (Session info: chrome=62.0.3202.94) (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.1.7601 SP1 x86)

여기에 누락 된 것이 있습니까? 어떤 도움을 주셔서 감사합니다.

감사합니다.

답변

0

btnK 상단에 검색 제안 상자가있을 수 있으므로 클릭해서 볼 수 없도록 숨길 수 있습니다. 제안 상자가 멀리 갈 수 있도록 입력에 검색 텍스트를 보낸 후

elem.send_keys(Keys.ENTER) 

또는

elem.send_keys(Keys.ESCAPE) 

같은

사용 뭔가.

+0

안녕하세요, 답변 해 주셔서 감사합니다. 'Key(). ENTER'는 'Enter'키 누르기를 시뮬레이트해야하는데, 이는 'click()'부분을 사용할 필요가 없다는 것을 의미합니까? – Sameem

+0

감사합니다. @marcel! 당신의 제안이 효과가있었습니다. – Sameem

+0

괜찮습니다. 이것이 도움이 되었다면,이 대답 옆에있는 체크 표시를 클릭하여이 대답을 수락하는 것을 잊지 마십시오. – Marcel