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