from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
import chromedriver_binary
import time
import urllib
import os
import sys
import requests
#wordpressから要素を取得
driver = webdriver.Chrome()
driver.get('https://bijo.blog/')
h3 = driver.find_element(By.XPATH,'/html/body/main/article[1]/dl/dd/a/h3')
link = driver.find_element(By.XPATH,'/html/body/main/article[1]/dl/dt/a')
thumbnail = driver.find_element(By.XPATH,'/html/body/main/article[1]/dl/dt/a/img').get_attribute('src')
path_img = 'C:/Users/wiki1/Desktop/xxx.jpg'
with open(path_img, 'wb') as f:
f.write(requests.get(thumbnail).content)
username = '@snowbreak_news'
password = 'password8**'
text = h3.text
url_wp = link.get_attribute('href')
driver.get(‘https://twitter.com/login’)
time.sleep(6)
driver.find_element(By.NAME,’text’).send_keys(username)
time.sleep(1)
driver.find_element(By.XPATH,’//div/span/span[text()="次へ"]’).click()
time.sleep(3)
driver.find_element(By.NAME,’password’).send_keys(password)
time.sleep(1)
driver.find_element(By.XPATH,’//div/span/span[text()="ログイン"]’).click()
time.sleep(6)
#投稿画面に遷移
driver.find_element(By.XPATH,’//a[@data-testid="SideNav_NewTweet_Button"]’).click()
time.sleep(6)
#投稿画面でテキストを追加
driver.find_element(By.CLASS_NAME,’public-DraftEditor-content’).send_keys(text)
driver.find_element(By.CLASS_NAME,’public-DraftEditor-content’).send_keys(Keys.ENTER)
driver.find_element(By.CLASS_NAME,’public-DraftEditor-content’).send_keys(url_wp)
time.sleep(3)
#投稿画面で画像を追加
driver.find_element(By.XPATH,’//input[@data-testid="fileInput"]’).send_keys(path_img)
time.sleep(3)
#予約投稿
driver.find_element(By.XPATH,'//div[@data-testid="scheduleOption"]').click()
time.sleep(3)
selector_1 = driver.find_element(By.XPATH,'//select[@id="SELECTOR_1"]')
s1 = Select(selector_1)
s1.select_by_index(10)
time.sleep(1)
selector_2 = driver.find_element(By.XPATH,'//select[@id="SELECTOR_2"]')
s2 = Select(selector_2)
s2.select_by_index(10)
time.sleep(1)
selector_4 = driver.find_element(By.XPATH,'//select[@id="SELECTOR_4"]')
s4 = Select(selector_4)
s4.select_by_index(10)
time.sleep(1)
selector_5 = driver.find_element(By.XPATH,'//select[@id="SELECTOR_5"]')
s5 = Select(selector_5)
s5.select_by_index(10)
time.sleep(3)
#予約確定ボタンをクリック
driver.find_element(By.XPATH,'//div[@data-testid="scheduledConfirmationPrimaryAction"]').click()
#投稿ボタンをクリック
driver.find_element(By.XPATH,'//div[@data-testid="tweetButton"]').click()
time.sleep(3)