@ Дженс Дибберн дал рабочее решение. Но это не обязательно, что точное имя компании должно быть указано в поиске. Случается так, что при вводе неточного имени появляется всплывающее окно.
Я заметил, что до тех пор, пока этот выпадающий список не присутствует, клавиша ввода не работает. Вы можете проверить это, зайдя на сайт, вставив имя и не дожидаясь, нажмите клавишу ввода как можно быстрее. Ничего не происходит.
Вы также можете подождать, пока не появится этот выпадающий список и отправить кнопку ввода. Это также отлично работает. Обратите внимание, что в результате будет выбран первый элемент в раскрывающемся списке, если присутствует более одного элемента.
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.get('http://www.ratestar.in/')
inputElement = driver.find_element_by_css_selector("#txtStock")
inputElement.send_keys('GM Breweries')
drop_down=driver.find_element_by_css_selector("#listPlacementStock")
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, '#listPlacementStock:not([style*="display: none"])')))
inputElement.send_keys(Keys.ENTER)
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="CompanyLink"]')))
source = driver.page_source
soup = BeautifulSoup(source,'html.parser')
print(soup)