DeveloperBreeze

Python Scripting Development Tutorials, Guides & Insights

Unlock 1+ expert-curated python scripting tutorials, real-world code snippets, and modern dev strategies. From fundamentals to advanced topics, boost your python scripting skills on DeveloperBreeze.

Automating Twitter Posting with Selenium

Tutorial August 08, 2024
python

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()

To run your script, navigate to the directory where twitter_bot.py is located and execute the following command: