質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Q&A

0回答

1506閲覧

import_ipynbを外部ファイルより使いたい

nnnkeita

総合スコア2

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

0グッド

0クリップ

投稿2020/07/12 12:24

構成分を少なくするためにjupiter lab
で作成したファイルを別のファイルで呼び出したいと考えておりますが、うまくいきません。chromedriver動作ファイル
googleを開く閉じる程度の動作は成功しましたが 長文かログインなどがあるからか呼び出しに反応しません。
呼び出すファイルと呼び出されるファイルを載せてみましたのでどなたかわかる方はご教示お願いいたします。
ちなみに安否報告の自動化についてのスクレイピングファイルを構築しようと考えております。
質問文がインデントが設定できずみづらくすいません。

###呼び出すファイル anpi2.ipynb
import import_ipynb
import anpi2
anpi2.anpi()
anpi2.anpi()

###呼び出されるファイル anpi2.ipynb

def anpi():

import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from time import sleep
import requests

def start_chrome():

#chromedriverのPATHを指定(Pythonファイルと同じフォルダの場合)
driver_path = '/Users/nishiharakeita/Desktop/selenium/chromedriver'
#Chrome起動

driver = webdriver.Chrome(executable_path=driver_path)
driver.maximize_window() # 画面サイズ最大化

#安否報告ログインURL
url = 'https://www.sys.mc-anpi.com'
driver.get(url)

return driver

def login_anpihoukoku(driver):

#ログイン情報
login_id = ”○○○○○○"
login_pw = "○○○○○○"
login_pw2 = "○○○○○○"

#最大待機時間(秒)
wait_time = 30

#IDを入力
login_id_xpath = '//[@id="cmpcd"]'
#xpathの要素が見つかるまで待機します。
WebDriverWait(driver, wait_time).until(EC.presence_of_element_located((By.XPATH, login_id_xpath)))
driver.find_element_by_xpath('//
[@id="cmpcd"]').send_keys(login_id)

wait_time = 5

#ID入力
login_pw_xpath = '//[@id="usrcd"]'
#xpathの要素が見つかるまで待機します。
WebDriverWait(driver, wait_time).until(EC.presence_of_element_located((By.XPATH, login_pw_xpath)))
driver.find_element_by_xpath('//
[@id="usrcd"]').send_keys(login_pw)

#パスワード2を入力
login_pw2_xpath = '//[@id="password"]'
#xpathの要素が見つかるまで待機します。
WebDriverWait(driver, wait_time).until(EC.presence_of_element_located((By.XPATH, login_pw_xpath)))
driver.find_element_by_xpath('//
[@id="password"]').send_keys(login_pw2)
time.sleep(1) # クリックされずに処理が終わるのを防ぐために追加。
driver.find_element_by_xpath(login_pw2_xpath).click()

element = driver.find_element_by_xpath('//*[@id="btn-login"]')
element.click()

element = driver.find_element_by_xpath('//*[@id="menu-ap02"]')
element.click()

#スリープ機能を使用することで問題解決
sleep(2)

element = driver.find_element_by_xpath('//*[@id="tbl-dept-grplist"]/tbody/tr/td[3]/a')
element.click()

element = driver.find_element_by_xpath('//*[@id="ans1"]/label[1]')
element.click()

element = driver.find_element_by_xpath('//*[@id="ans2"]/label[1]')
element.click()

element = driver.find_element_by_xpath('//*[@id="ans3"]/label[1]')
element.click()

element = driver.find_element_by_xpath('//*[@id="btn-update"]')
element.click()

#スリープ機能を使用することで問題解決
sleep(2)

element = driver.find_element_by_xpath('//*[@id="btn-confirm-ok"] ')
element.click()

if name == 'main':
#Chromeを起動
driver = start_chrome()

#安否報告にログイン
login_anpihoukoku(driver)

def SendMessage():
line_notify_token = "WUn4hZewRWShFm9DbnNDnj3CdXam19tdAZee3h1TQ4L"
line_notify_api = "https://notify-api.line.me/api/notify"
message = "安否報告完了"

payload = {"message":message} #メッセージの本文
headers = {"Authorization":"Bearer " + line_notify_token}
line_notify = requests.post(line_notify_api, data = payload, headers = headers, )

if name == "main":
SendMessage()
print("Successful")

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問