Задать вопрос

Twiter. Как много раз рандомно зафоловить (following) Python Selenium?

Есть страница в фолловерами (followers). Какие команды нужно написать команды чтобы:

1) Зафоловить всех кто есть, на странице, не нажимать если уже когда то раньше зафоловилк

2) Рандомно зафоловить из (1000 к примеру) найденых 100 штук.
*3) Зафоловить в зависимости сколько у этого пользователя фолловеров (если к примеру больше 1000, то фолловить). Скорее всего надо зайти из списка фолловеров на каждый аккаунт и потом вернуться обратно

# -*- coding: utf-8 -*-
from selenium import webdriver
    from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, re, time,random,datetime,os,errno,traceback;






wait_1 = 3


def test_app_dynamics_job():
    try:
        login = 'login' #login
        password = 'password' #password
        dop = 'dop' #dop
    
    except Exception as exc:
        print(' № ошибка!')
        print(exc)
        traceback.print_exc() 
        


    driver = webdriver.Chrome()
    ################!!!!!!!!########### ! НАЧАЛО вставка кода с коммандами селениум

    driver.get('https://twitter.com/login')

    time.sleep(wait_1 + 3)
    print('зашел на сайт...')
    driver.find_element_by_xpath("(//input[@name='session[username_or_email]'])[2]").send_keys(login)
    time.sleep(wait_1 + 3)
    driver.find_element_by_xpath("(//input[@name='session[password]'])[2]").send_keys(password)
    time.sleep(wait_1 + 3)
    driver.find_element_by_xpath(u"(.//*[normalize-space(text()) and normalize-space(.)='Войти'])[2]/following::button[1]").click()

    
    time.sleep(wait_1 + 3)
    

    #если вылезает дополнительный вопрос
    try: 
        
        driver.find_element_by_id("challenge_response").send_keys(dop)
        driver.find_element_by_id("email_challenge_submit").click()
        
    except Exception as exc:
        print(exc)
        traceback.print_exc()



    #_+_+_+_+_+_
    #пробуем нажать на одну из конопок если выходит, лишние кнопки
    try:
        try:
            driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Welcome!'])[1]/following::span[6]").click()
        except Exception as exc:
            print(exc)
            traceback.print_exc()
        try:
            driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Lights out'])[1]/following::span[2]").click()
        except Exception as exc:
            print(exc)
            traceback.print_exc()
        #окно пишеться новые правила и все такое. Нажать на ОК
        try:
            driver.find_element_by_xpath(u"(.//*[normalize-space(text()) and normalize-space(.)='will be in effect. Now’s a great chance to review them.'])[1]/following::span[3]").click()
        except Exception as exc:
            print(exc)
            traceback.print_exc()
    except Exception as exc:
        print(exc)
        traceback.print_exc()        
        #другие комманды
   
   #start
    
    #element.
    #/html/body/div/div/div/div/main/div/div/div/div[1]/div/div[4]/div/div/section/div/div/div/div[12]/div/article/div/div[2]/div[2]/div[4]/div[3]/div/div/div[2]
    #/html/body/div[1]/div/div/div/main/div/div/div/div[1]/div/div[4]/div/div/section/div/div/div/div[12]/div/article/div/div[2]/div[2]/div[4]/div[3]/div/div/div[2]/span/span
    #>MATCH><div class="css-1dbjc4n r-xoduu5 r-1udh0
                            
            
            
                
                #_+_+_+_+_+_
    
            
            
            
           

try:
    test_app_dynamics_job()
    
except Exception as exc:
    print(exc)
    traceback.print_exc()
  • Вопрос задан
  • 117 просмотров
Подписаться 3 Средний 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы