python やら java でブラウザなどを操作できる驚きのソフト 個人的なメモに近い何か 詳しくは後日
# coding:utf-8 #例外処理に必要なライブラリ import traceback import sys #ファイルの拡張子を外すためのライブラリ import os.path #selenium 関係のライブラリ from selenium import webdriver from selenium.webdriver.common.keys import Keys from time import sleep #ポップアップ(alert)が出たときの処理をする用のライブラリ from selenium.webdriver.common.alert import Alert #マウスオーバーさせるためのライブラリ from selenium.webdriver.common.action_chains import ActionChains LOGIN_URL = "http://hogehoge/" LOGIN_ID = "hogeeeeeeeee" LOGIN_PW = "hogeeeeeeeeee" TEXT_TITLE = "hogeeeeeeee" UPLOAD_FILE = "hogeeeeee/eeeee/eeee" #外部のブラウザを開くので例外処理 try: # ブラウザを開く。 driver = webdriver.Chrome() # ログイン画面を開く driver.get(LOGIN_URL) sleep(1) # HTML の ログイン の要素のID を取得してIDとパスワードをそれぞれ入れる driver.find_element_by_id("user_login").send_keys(LOGIN_ID) driver.find_element_by_id("user_pass").send_keys(LOGIN_PW) driver.find_element_by_id("wp-submit").send_keys(Keys.ENTER) #ここからさきはほとんど遷移関係 sleep(1) driver.find_element_by_link_text("投稿").click() sleep(1) driver.find_element_by_link_text("新規追加").click() sleep(1) driver.find_element_by_id("title").send_keys(TEXT_TITLE) sleep(1) driver.find_element_by_id("insert-media-button").click() sleep(1) driver.find_element_by_xpath("//input[@type='file']").send_keys(UPLOAD_FILE) sleep(1) driver.find_element_by_xpath("//button[@class='button media-button button-primary button-large media-button-insert']").click() sleep(1) driver.find_element_by_name("publish").click() sleep(1) driver.find_element_by_link_text("ダッシュボード").click() sleep(1) driver.find_element_by_link_text("投稿").click() sleep(1) #削除 #マウスオーバーのためのアクション宣言 actions = ActionChains(driver) actions.move_to_element(driver.find_element_by_xpath("//a[contains(@aria-label,'hogehoge')]")) #driver.move_to_element(driver.find_element_by_xpath("//a[@aria-label='「hogehoge」 (編集)']")) #driver.move_to_element(driver.find_element_by_link_text("hogehoge")) sleep(1) #ゴミ箱に移動 driver.find_element_by_class_name("trash").click() sleep(1) actions.move_to_element(driver.find_element_by_xpath("//a[contains(@aria-label,'hogehoge')]")) #完全削除 sleep(1) actions.move_to_element(find_element_by_xpath("//a[@aria-label='「hogehoge」 (編集)']")) #メディア選択 driver.find_element_by_link_text("メディア").click() sleep(1) #写真選択 UPLOAD_FILE_PATH, ext = os.path.splitext(UPLOAD_FILE) path, UPLOAD_FILE_NAME = os.path.split(UPLOAD_FILE_PATH) driver.find_element_by_xpath("//li[@aria-label='hoge']").click() sleep(1) driver.find_element_by_xpath("//button[@class='button-link delete-attachment']").click() sleep(1) Alert(driver).accept() print ("正常終了しました") # ブラウザを終了する。 sleep(2) driver.close() except: driver.close() traceback.print_exc()