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

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

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

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

import

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

受付中

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

nnnkeita
nnnkeita

総合スコア2

Jupyter

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

import

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

0回答

0リアクション

0クリップ

1011閲覧

投稿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")

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

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

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

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

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Jupyter

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

import

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