DeveloperBreeze

Tutorials Programming Tutorials, Guides & Best Practices

Explore 149+ expertly crafted tutorials tutorials, components, and code examples. Stay productive and build faster with proven implementation strategies and design patterns from DeveloperBreeze.

Automating Twitter Posting with Selenium

Tutorial August 08, 2024
python

Create a new Python file named twitter_bot.py and open it in your favorite text editor. Write the following script to automate the login and tweet posting process:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

# Twitter credentials
USERNAME = 'your_twitter_username'
PASSWORD = 'your_twitter_password'

# List of tweets to post
tweets = [
    "Hello, Twitter! This is a Selenium automated tweet.",
    "Automating tweets without API keys!",
    "Selenium is great for browser automation.",
    # Add more tweets here
]

# Initialize WebDriver
driver = webdriver.Chrome()  # Or webdriver.Firefox(), depending on your browser

# Open Twitter login page
driver.get('https://twitter.com/login')

# Log in to Twitter
time.sleep(2)
username_input = driver.find_element(By.NAME, 'session[username_or_email]')
password_input = driver.find_element(By.NAME, 'session[password]')

username_input.send_keys(USERNAME)
password_input.send_keys(PASSWORD)
password_input.send_keys(Keys.RETURN)

time.sleep(3)  # Wait for login to complete

# Function to post a tweet
def post_tweet(tweet):
    tweet_box = driver.find_element(By.CSS_SELECTOR, "div[data-testid='tweetTextarea_0']")
    tweet_box.send_keys(tweet)
    time.sleep(1)

    tweet_button = driver.find_element(By.CSS_SELECTOR, "div[data-testid='tweetButtonInline']")
    tweet_button.click()
    print(f"Tweeted: {tweet}")
    time.sleep(5)  # Wait for the tweet to post

# Post all tweets
for tweet in tweets:
    post_tweet(tweet)

# Close the browser
driver.quit()