问题描述
使用selenium做爬虫,模拟搜索框点击发起搜索时,发现淘宝的搜索框选不中,下面为代码:
bt_submit=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#J_SearchForm > button")))#方式1
bt_submit=browser.find_element_by_css_selector("#J_SearchForm > button")#方式2
报错信息(方式2)形如:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#J_SearchForm > button"}
(Session info: chrome=63.0.3239.132)
(Driver info: chromedriver=2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 10.0.16299 x86_64)
解决方法
直接在输入框中按回车键,代码如下:
from selenium.webdriver.common.keys import Keys
input_words.send_keys(Keys.ENTER)
或者(分析源码 view-source:https://www.taobao.com/ ):
button = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "search-button")))
button.click()
或者:
button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".search-button>button")))
button.click()