part_2.py 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. ##
  2. # https://pypi.org/project/webdriver-manager/
  3. from webdriver_manager.chrome import ChromeDriverManager
  4. from selenium.webdriver.common.action_chains import ActionChains
  5. from selenium.webdriver.support import expected_conditions as EC
  6. from selenium.webdriver.support.ui import WebDriverWait
  7. from selenium.webdriver.common.by import By
  8. from selenium.webdriver.common.keys import Keys
  9. from selenium import webdriver
  10. import time
  11. number = '79001231231'
  12. password = 'qwerty'
  13. ##
  14. driver = webdriver.Chrome(executable_path=ChromeDriverManager().install())
  15. driver.maximize_window() # увеличиваем окно для удобства
  16. driver.get('https://yandex.ru')
  17. search = driver.find_element_by_id('text')
  18. search.send_keys('фото бараша')
  19. search.send_keys(Keys.ENTER)
  20. driver.find_element_by_partial_link_text('Картинки').click()
  21. # получение списка открытых вкладок браузера
  22. tabs = driver.window_handles # список
  23. driver.switch_to.window(tabs[1])
  24. img1 = driver.find_elements_by_class_name(
  25. 'serp-item__link') # список элементов
  26. img_link = img1[1].get_attribute('href')
  27. driver.get(img_link)
  28. # ожидание подзагрузки
  29. wait = WebDriverWait(driver, 10)
  30. element = wait.until(EC.element_to_be_clickable(
  31. (By.PARTIAL_LINK_TEXT, 'Открыть')))
  32. # driver.find_element_by_partial_link_text('Открыть').click() #не работает
  33. element.click()
  34. tabs1 = driver.window_handles
  35. driver.switch_to.window(tabs1[2])
  36. # копирование изображения
  37. action = ActionChains(driver)
  38. action.key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
  39. # получили бараша
  40. # вход и использоывние vk
  41. driver.get('https://vk.com/id507121631')
  42. driver.find_element_by_id('quick_email').send_keys(number)
  43. driver.find_element_by_id('quick_pass').send_keys(password)
  44. driver.find_element_by_id('quick_login_button').click()
  45. wait = WebDriverWait(driver, 5)
  46. elem = wait.until(EC.visibility_of_element_located((By.ID, 'post_field')))
  47. elem.clear()
  48. elem.send_keys('Если бараш наберет 5 лайков, я выложу Нюшу\n\
  49. p.s. Этот пост был опубликован с помощью Python')
  50. action.key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()
  51. time.sleep(5)
  52. driver.find_element_by_xpath('//*[@id="send_post"]').click()
  53. # driver.close()