Как искать, стрелка вниз и нажмите ввод с Selenium - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь найти компанию, нажмите стрелку вниз и нажмите ввод на inhersight.com

У меня есть следующий код, но он не работает:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver.get("https://www.inhersight.com/companies")
elem = driver.find_element_by_class_name("open-search.small-hide.margin-right-20.icon-36.icon-search.reverse.cursor-pointer").click()
elem.send_keys("Apple")
elem.send_keys(Keys.ARROW_DOWN)

Кажется, он не может найти и найти элемент по имени класса.Я перепробовал много вещей, но это все еще не работает ... Я потерян

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

Вы можете избежать выбора, так как название компании становится частью строки запроса в URL, с пробелами, замененными на «-» и строчными буквами.Поэтому вы можете направить .get на этот форматированный URL.Вы можете добавить некоторую обработку, если компания не найдена.

from selenium import webdriver
company = 'Apple Federal Credit Union' # 'apple'
base = 'https://www.inhersight.com/company/' 
url = base + company.replace(' ', '-').lower()

d = webdriver.Chrome()
d.get(url)

#other stuff including handling of company not found (this text appears on the page so not hard)
#d.quit()
0 голосов
/ 08 декабря 2018

Кому найдите компанию и нажмите кнопку ввода на inhersight.com вместо элементов Авто предложения , поэтому вместо arrow down вам нужно вызвать WebDriverWait для желаемого элемента, который можно кликать , и вы можете использовать следующее решение:

  • Кодовый блок:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    options = Options()
    options.add_argument('start-maximized')
    options.add_argument('disable-infobars')
    options.add_argument('--disable-extensions')
    driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
    driver.get("https://www.inhersight.com/companies")
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".open-search.small-hide.margin-right-20.icon-36.icon-search.reverse.cursor-pointer"))).click()
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@placeholder='Search women-rated companies']"))).send_keys("Apple")
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//li[contains(@class,'select2-highlighted')]/div[@class='select2-result-label']/div[@class='weight-medium']"))).click()
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...