我正在尝试使用硒在www.finanzen.net上搜索股票,但总是得到
ElementNotInteractableException:元素不可交互
from selenium import webdriver
import time
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chrome_options.add_experimental_option("prefs", prefs)
chrome_options.add_argument("start-maximized")
driver = webdriver.Chrome(options=chrome_options, executable_path=r'F:\chromedriver.exe')
driver.get('https://www.finanzen.net/')
time.sleep(5)
cookie_banner_button = driver.find_element_by_xpath("//button[@onclick='cookieBannerOverlayClick();']")
cookie_banner_button.click()
search_field = driver.find_element_by_xpath("//input[@class='search-input']")
#search_field.click()
search_field.send_keys('bmw')
search_field.submit()
time.sleep(5)
driver.quit()
您使用的xpath指向两个元素,并且它所指向的第一个元素是不可交互的,这是由于您正在获取异常。为元素找到正确的xpath,请参考下面的代码:
from selenium import webdriver
import time
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chrome_options.add_experimental_option("prefs", prefs)
chrome_options.add_argument("start-maximized")
driver = webdriver.Chrome(options=chrome_options,
executable_path=r'F:\chromedriver.exe')
driver.get('https://www.finanzen.net/')
time.sleep(5)
cookie_banner_button = driver.find_element_by_xpath("//button[@onclick='cookieBannerOverlayClick();']")
cookie_banner_button.click()
search_field = driver.find_element_by_xpath("//div[@class='shadow']//input[@class='search-input']")
search_field.send_keys('bmw')
search_field.submit()
time.sleep(5)
driver.quit()
要在https://www.finanzen.net/上搜索股票,您需要为element_to_be_clickable()
引入WebDriverWait