Wie wir wissen, ist selenium ein Tool zur Steuerung des Webbrowsers über ein Programm. Es kann in allen Browsern verwendet werden, das Betriebssystem und sein Programm sind in verschiedenen Programmiersprachen geschrieben, dh Java, Python (alle Versionen).

Selenium hilft uns dabei, jede Art von Aufgabe zu automatisieren, die wir häufig auf unseren Laptops erledigen. PC reicht von der Verwendung von Facebook Messenger für SMS und WhatsApp über das tägliche Twittern von Tweets auf Twitter bis hin zum Wunsch von Freunden „Alles Gute zum Geburtstag“ auf Facebook, dem Googeln von allem, was wir lernen möchten und viel mehr Aufgabe. Alle diese Aufgaben können mit selenium in nur einer kleinen Implementierung automatisiert werden.

Installation:

  • Gehen Sie zur Eingabeaufforderung und geben Sie Folgendes ein:
    Pip installieren Selen
  • Laden Sie anschließend einen Webdriver zur Automatisierung herunter. Hier verwenden wir chromedriver von http://chromedriver.chromium.org/

Lassen Sie uns lernen, wie Sie den Prozess des Wunschens nach einem Geburtstagswunsch auf der Timeline eines Facebook-Freundes als Beitrag automatisieren können.

Der gesamte Prozess dieser Automatisierung kann wie folgt unterteilt werden:



  • Anmelden bei der Facebook-Anwendung mit Anmeldeinformationen wie Benutzername und Passwort.
  • Posten eines "Happy Birthday" -Feeds auf der Timeline der Freunde, deren Geburtstag heute ist.

Unten sind die Schritte:

  • Erstellen Sie ein Browserobjekt und get()senden Sie mit der Funktion eine Anfrage an die Website, die wir verbinden / verwenden möchten.
  • Finden Sie die Elemente wie Benutzername und Passwort Eingabefelder, Login - Button und die Verwendung der selenium - Funktionen wie click(), send_keys()etc auf Schaltflächen klicken und Eingabe von Benutzername und Passwort sind.
  • Danach get()senden Sie mit der Funktion eine Anfrage an / events / Birthdays / page.
  • Oben auf dieser Seite befindet sich eine Karte mit den heutigen Geburtstagen, auf der der Name des Freundes, dessen Geburtstag heute ist, sowie ein Eingabetextfeld angezeigt werden, in das Sie einen Feed auf der Zeitachse eingeben können.
  • Unter Verwendung des XPATH dieser Eingabetextfelder senden wir unseren Feed, dh "Happy Birthday", unter Verwendung send_keys()der Selenfunktion.
  • Schließen Sie den Browser.

HINWEIS: Erstellen Sie eine separate test.txtDatei und geben Sie Ihr Facebook-Passwort ein, bevor Sie das folgende Programm ausführen.

Unten ist die Implementierung:

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.chrome.options import Options 
from selenium.common.exceptions import TimeoutException 
from selenium.webdriver.common.keys import Keys 
import time 
  
chrome_options = webdriver.ChromeOptions() 
  
prefs = {"profile.default_content_setting_values.notifications": 2} 
chrome_options.add_experimental_option("prefs", prefs) 
browser = webdriver.Chrome("chromedriver.exe") 
  
browser.get('https://www.facebook.com/') 
  
username = "agrawal.abhi108@gmail.com"
  
with open('test.txt', 'r') as myfile: 
    password = myfile.read().replace('\n', '') 
  
print("Let's Begin") 
  
element = browser.find_elements_by_xpath('//*[@id ="email"]') 
element[0].send_keys(username) 
  
print("Username Entered") 
  
element = browser.find_element_by_xpath('//*[@id ="pass"]') 
element.send_keys(password) 
  
print("Password Entered") 
  
log_in = browser.find_elements_by_id('loginbutton') 
log_in[0].click() 
  
print("Login Successful") 
  
browser.get('https://www.facebook.com/events/birthdays/') 
  
feed = 'Happy Birthday !'
  
element = browser.find_elements_by_xpath("//*[@class ='enter_submit\ 
       uiTextareaNoResize uiTextareaAutogrow uiStreamInlineTextarea\ 
                  inlineReplyTextArea mentionsTextarea textInput']") 
  
cnt = 0
  
for el in element: 
    cnt += 1
    element_id = str(el.get_attribute('id')) 
    XPATH = '//*[@id ="' + element_id + '"]'
    post_field = browser.find_element_by_xpath(XPATH) 
    post_field.send_keys(feed) 
    post_field.send_keys(Keys.RETURN) 
    print("Birthday Wish posted for friend" + str(cnt)) 
  
browser.close()