質問するログイン新規登録

質問編集履歴

3

ソースを追加しました。

2020/02/17 09:58

投稿

shiro55
shiro55

スコア9

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,8 @@
3
3
 
4
4
  書いたソースコード
5
5
 
6
+ ```python
7
+
6
8
  # -*- coding: UTF-8 -*-
7
9
 
8
10
  import time
@@ -70,11 +72,16 @@
70
72
  sysid.send_keys(id) #システムID入力
71
73
  kensaku = driver.find_element_by_name("first")
72
74
  kensaku.click()
75
+
76
+
77
+
73
78
 
74
79
  if __name__ == '__main__':
75
80
  main()
76
81
 
82
+ ```
77
83
 
84
+
78
85
  f = open(r"C:\Users\user\Desktop\testtext.txt", "r") # IDファイルを読み込み
79
86
  id = f.read() # ファイルの中身を変数idへ
80
87
  f.close() # ファイルを閉じる

2

ソースを追加しました。

2020/02/17 09:58

投稿

shiro55
shiro55

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,81 @@
1
1
  仕事のルーティンを自動化するためにseleniumを勉強しています。
2
2
  まだまだ初心者で拙い部分だらけですが、よろしくお願いします。
3
3
 
4
+ 書いたソースコード
5
+
6
+ # -*- coding: UTF-8 -*-
7
+
8
+ import time
9
+ from selenium import webdriver
10
+ from selenium.webdriver.common.keys import Keys
11
+ from selenium.webdriver.chrome.options import Options
12
+
4
13
  f = open(r"C:\Users\user\Desktop\testtext.txt", "r") # IDファイルを読み込み
14
+ id = f.read() # ファイルの中身を変数IDへ
15
+ f.close() # ファイルを閉じる
16
+
17
+
18
+ def main():
19
+
20
+ options = Options()
21
+ options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application/chrome.exe" # chromeもしくはchromiumの実行ファイルを指定
22
+ #options.add_argument('--headless') # ヘッドレスモード(ブラウザを表示させないで実行)
23
+ #options.add_argument("--window-size=800,800") # ブラウザの表示サイズ
24
+
25
+ # ブラウザ起動(executable_pathにはwebdriverの場所を指定)
26
+ driver = webdriver.Chrome(executable_path= r"C:\Users\user\Anaconda3\Lib\site-packages\chromedriver_binary\chromedriver.exe", chrome_options=options)
27
+
28
+ # URLオープン
29
+ driver.get('http://urlxxx.com/login/?url')
30
+ time.sleep(1) # 待ち時間
31
+
32
+ # IDの入力
33
+ id = driver.find_element_by_name("loginId") #ID入力の要素
34
+ id.send_keys("xyz") #ID入力
35
+
36
+ # passの入力
37
+ password = driver.find_element_by_name("password") #pass入力の要素
38
+ password.send_keys("0000") #pass入力
39
+
40
+ time.sleep(1)
41
+
42
+
43
+ # ログインクリック
44
+ login_button = driver.find_element_by_name("go")
45
+ login_button.click()
46
+
47
+ time.sleep(2)
48
+
49
+ # 同意する
50
+ accept_button = driver.find_element_by_name("accept")
51
+ accept_button.click()
52
+
53
+ #HOME展開完了
54
+ time.sleep(2)
55
+ mframe = driver.find_element_by_name("menu_frame")
56
+ driver.switch_to.frame(mframe) #menuframeに切り替え
57
+ time.sleep(2)
58
+ kanri = driver.find_element_by_link_text("ユーザー管理")
59
+ kanri.send_keys(Keys.RETURN)
60
+
61
+ #ユーザー検索へ移動
62
+ time.sleep(3)
63
+ driver.get("urlxxx.com/home/menu")
64
+
65
+ driver.get("urlxxx.com/home/menu/idcheck")
66
+ time.sleep(5)
67
+
68
+ #検索開始
69
+ sysid = driver.find_element_by_name("systemIds") #システムID入力フォームの要素
70
+ sysid.send_keys(id) #システムID入力
71
+ kensaku = driver.find_element_by_name("first")
72
+ kensaku.click()
73
+
74
+ if __name__ == '__main__':
75
+ main()
76
+
77
+
78
+ f = open(r"C:\Users\user\Desktop\testtext.txt", "r") # IDファイルを読み込み
5
79
  id = f.read() # ファイルの中身を変数idへ
6
80
  f.close() # ファイルを閉じる
7
81
 

1

したい事を具体的に加筆しました

2020/02/17 09:53

投稿

shiro55
shiro55

スコア9

title CHANGED
File without changes
body CHANGED
@@ -5,9 +5,16 @@
5
5
  id = f.read() # ファイルの中身を変数idへ
6
6
  f.close() # ファイルを閉じる
7
7
 
8
- にて外部ファイルを読み込み変数idへ格納したのち
8
+ にて外部に保存したテキストファイルを読み込み変数idへ格納したのち
9
9
 
10
10
  sysid = driver.find_element_by_name("systemIds") #システムID入力フォームの要素
11
11
  sysid.send_keys(id) #システムID入力
12
12
 
13
- ↑ここでkeys()にidへ格納した値を入力する方法をご教示いただけますでしょうか。
13
+ ↑ここでkeys()にidへ格納した値を入力する方法をご教示いただけますでしょうか。
14
+
15
+ sysid = driver.find_element_by_name("systemIds")←入力フィールドの要素
16
+ この入力フィールドに対して外部のテキストファイルのデータを入力したいと考えており、send_keysを利用しています。
17
+ 外部のテキストファイルのデータを変数idに取り込んでいますが、上記の通りで実行すると
18
+ TypeError: object of type 'WebElement' has no len()
19
+ というエラーが出てしまいます。
20
+ sysid.send_keys(id)のidの値を手動で入力すると問題なく実行できますが、手動での実行ではなく外部からデータを取り込む事も含め自動で実行出来ればと考えております。