Skip to content

Instantly share code, notes, and snippets.

@kokardy
Created July 15, 2020 09:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kokardy/9a5fe78cfd3447bd278727b04f370718 to your computer and use it in GitHub Desktop.
Save kokardy/9a5fe78cfd3447bd278727b04f370718 to your computer and use it in GitHub Desktop.
webmail ダウンローダ
# encoding:utf-8
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import sys
def download_from_list_page(driver):
links = driver.find_elements_by_xpath("//a[contains(@href, '_uid')]")
for link in links:
url = link.get_attribute("href")
driver.execute_script("window.open()")
driver.switch_to.window(driver.window_handles[1])
driver.get(url)
#ダウンロードボタン 何故か122
driver.find_element_by_id("messagemenulink").click()
driver.find_element_by_id("rcmbtn122").click()
driver.close()
driver.switch_to.window(driver.window_handles[0])
def main():
if len(sys.argv) != 5:
print("引数は4つ必要です。", sys.argv[1:])
print("USAGE: get_mail.py username password foldername chromedriver_path")
print("chromedriverはここからダウンロード: http://chromedriver.chromium.org/downloads")
quit()
user, pw, folder_name, chromedriver_path = sys.argv[1:]
# ブラウザのオプションを格納する変数をもらってきます。
options = Options()
# Headlessモードを有効にする(コメントアウトするとブラウザが実際に立ち上がります)
# options.set_headless(False)
# ブラウザを起動する
#driver = webdriver.Chrome(chrome_options=options)
driver = webdriver.Chrome(
executable_path=chromedriver_path,
#chrome_options=options
)
# ブラウザでアクセスする
url = "https://webmail.********************.jp/"
driver.get(url)
# 待機時間
driver.implicitly_wait(10) # 秒
#login
driver.find_element_by_name("_user").send_keys(user)
driver.find_element_by_name("_pass").send_keys(pw)
driver.find_element_by_id("rcmloginsubmit").click()
print(driver.current_url)
#driver.find_element_by_id(chiken_box_id).click()
driver.find_element_by_partial_link_text(folder_name).click()
#最後のページbtn133
driver.find_element_by_id("rcmbtn133").click()
for i in range(5):
#listページから一個ずつダウンロード
print(driver.current_url, "からダウンロードします" )
download_from_list_page(driver)
#前のページbtn131
driver.find_element_by_id("rcmbtn131").click()
driver.quit()
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment