· 7 years ago · Sep 12, 2018, 07:04 AM
1import time
2from selenium import webdriver
3from selenium.common.exceptions import NoSuchElementException
4from selenium.webdriver.common.by import By
5from selenium.webdriver.support import expected_conditions as EC
6from selenium.webdriver.support.ui import WebDriverWait
7from urllib3.exceptions import MaxRetryError
8
9if __name__ == '__main__':
10 driver = None
11 ff_opts = webdriver.FirefoxOptions()
12 # TODO: headless work with errors - I'm comment him
13 # ff_opts.set_headless()
14
15 try:
16 # initialize Webdriver FF
17 driver = webdriver.Firefox(options=ff_opts, log_path='/dev/null')
18 driver.implicitly_wait(10)
19 driver.get('https://yandex.ru')
20 time.sleep(2)
21
22 # find input field on yandex.ru
23 search_line = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "input__input")))
24 time.sleep(2)
25 # find submit button on yandex.ru
26 search_line.send_keys('комплект вик')
27 time.sleep(2)
28
29 # search_line.send_keys('поверкон')
30 submit = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "suggest2-form__button")))
31 submit.click()
32
33 time.sleep(3)
34 # click by first button with povercon.ru link on TOP10 SERP
35
36
37
38 site_link = driver.find_element_by_link_text("povercon.ru")[0].find_elements_by_class_name('organic__url-text')
39
40 # site_link = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "povercon.ru")))
41 # site_link = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "organic__url-text")))
42 # site_link = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.LINK_TEXT, "povercon.ru")))
43 site_link.click()
44
45 time.sleep(60)
46
47
48
49 except MaxRetryError as e:
50 print('retrieved connection - is damn sucks!')
51
52 except NoSuchElementException as e:
53 print('Somenthing went wrong... Not find an element of the DOM')
54
55 finally:
56 driver.quit()
57 pass