DeveloperBreeze

Webdriver Development Tutorials, Guides & Insights

Unlock 1+ expert-curated webdriver tutorials, real-world code snippets, and modern dev strategies. From fundamentals to advanced topics, boost your webdriver skills on 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()