Selenium … Программа работает отлично для Firefox, но не Chrome

Код ниже отлично работает с Firefox, но когда я устанавливаю браузер = webdriver.Chrome (), я получаю некоторые проблемы.

browser = webdriver.Firefox() browser.get('https://www.voilanorbert.com/') inputElement = browser.find_element_by_id("form-search-name") inputElement.send_keys(leadslist[i][0]) inputElement = browser.find_element_by_id("form-search-domain") inputElement.send_keys(leadslist[i][1]) searchbutton = browser.find_element_by_name("search") searchbutton.click() wait = WebDriverWait(browser, 20) wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.results"))) h3s = browser.find_elements_by_css_selector('h3.one') h3 = next(element for element in h3s if element.is_displayed()) result = h3.text 

С хром все в порядке, пока мне не нужно извлечь текст. Я получаю эту ошибку:

 h3 = next(element for element in h3s if element.is_displayed()) StopIteration 

РЕДАКТИРОВАТЬ
Проблема появляется снова на Firefox и хром. Я даже добавил плавное ожидание.

 wait = WebDriverWait(browser, 20) wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.results"))) wait2 = WebDriverWait(browser, 3000, poll_frequency=100, ignored_exceptions=[ElementNotVisibleException]) wait2.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "h3.one"))) h3s = browser.find_elements_by_css_selector('h3.one') h3 = next(element for element in h3s if element.is_displayed()) result = h3.text 

Я пришел к выводу, что селен определенно не идеален.

Я подозреваю, что основная проблема заключается в анимации, когда результаты отображаются.

Вам нужно, чтобы selenium знал, что вы хотите, чтобы он подождал, прежде чем искать элемент через implicitly_wait() :

 wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.results"))) # okay, selenium, slow down, please browser.implicitly_wait(3) h3s = browser.find_elements_by_css_selector('h3.one') 

(работал для меня)

Если это проблема ожидания, у меня был хороший опыт с уверенным ожиданием:

https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/support/ui/FluentWait.html