1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Celenium+Eddgeでのページ移動とDLについて_後ドライバー詰まるとこ

Last updated at Posted at 2021-05-18

#Web操作
・Webアプリなどから、業務用の処理やデータを取り出す。
・同名のデータは事前に削除しておく。

##Celenium+Microsft EddgeでのWebからデータをDL
###やる事
1.eddgeのWebdriverをDLしてくる。
2.作成コードの下位フォルダへ格納する。
 例:コードにも反映する 

python
browser = webdriver.Edge("./driver/msedgedriver.exe")

サンプルコード
サイトにログイン後、データをDLして更新する。

概要としては、
browser = webdriver.Edge("./driver/msedgedriver.exe")を用い、
el = browser.find_element_by_name('txtDomainName') などのように、エレメントを指定し
el.send_keys('**********') でテキストなどを入力したり
browser.find_element_by_id("mnuDataDownload").click()でクリックで大体は事足りると思える。

jsなどのアクションなども指定して実行させることができる。

python
from selenium import webdriver
from datetime import datetime, date, timedelta
import time
from glob import glob
import os
from tkinter import messagebox
from selenium.webdriver.support.select import Select

browser = webdriver.Edge("./driver/msedgedriver.exe")
browser.implicitly_wait(10) # seconds
browser.get('https://........ログインしたいサイト')

##サイト表示後
ログインするためにはIDとPASSを入力すると思います。
こちらに関しては、eddgeですと、
 1.サイト上で右クリック
 2.検証
 3.色々とカーソルを動かして、htmlのどこが関わるかを調べる。

#ドメイン入力
el = browser.find_element_by_name('txtDomainName')
el.send_keys('*******')
#ログインID入力
el = browser.find_element_by_name('txtUserName')
el.send_keys('**********')
#パスワード入力
el = browser.find_element_by_name('txtPassword')
el.send_keys('*********')
#Loginボタンを押す
#browser.execute_script("javascript:__doPostBack('btnLogin','')")
browser.execute_script("__doPostBack('btnLogin','')")

browser.find_element_by_id("mnuDataDownload").click()

dropdown = browser.find_element_by_id('ctl00_ContentPlaceHolder1_mnuDataDownload_drpGroup')
select = Select(dropdown)
select.select_by_value('-1')

dropdown = browser.find_element_by_id('ctl00_ContentPlaceHolder1_mnuDataDownload_drpFileName')
select = Select(dropdown)
select.select_by_value("/User/10438/Private/*******.DataDownload")

#日付指定
browser.find_element_by_id("ctl00_ContentPlaceHolder1_mnuDataDownload_imgCalendarStart").click()
browser.find_element_by_id("ctl00_ContentPlaceHolder1_mnuDataDownload_calDateStart_today").click()
browser.find_element_by_id("ctl00_ContentPlaceHolder1_mnuDataDownload_btSubmit").click()

#Dlデータ事前削除
folda_path =r'C:\Users\*****\Downloads'

file = glob(r"C:\Users\******\Downloads\*****.csv")
if file:
    filepath =file[0]
    print(filepath)
    os.remove(filepath)
    print("できたよ!")

#DL_Start
time.sleep(3)
browser.find_element_by_id("ctl00_ContentPlaceHolder1_lnkDownload").click()


#webブラウザ閉じる
time.sleep(3)
browser.close()
browser.quit()
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?