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

質問編集履歴

5

新たに試したことを追加、疑問点の検討

2021/08/06 07:33

投稿

tetrisuehara
tetrisuehara

スコア20

title CHANGED
File without changes
body CHANGED
@@ -96,8 +96,17 @@
96
96
 
97
97
  ![イメージ説明](3892d065a042c0b782d928ab7653b9a3.png)
98
98
  ### 疑問点
99
- value of nullということはなにかかが認識されてはいないとは思うんですが、よくわかりません。
99
+ ~~value of nullということはなにかかが認識されてはいないとは思うんですが、よくわかりません。
100
100
  また、手法を変えて、valueでの変更ではなく、option[hoge].selected ="true";での記述も試みましたが結果としてはやはりnull扱いとなりました。
101
- 追記:value of null ということは、seemoreの参照を見つけていないということなのか?
101
+ 追記:value of null ということは、seemoreの参照を見つけていないということなのか?~~
102
+
102
- また、様々サイトを見たのですが、shadowroot下でのselectタグの扱いに関するものがどうもうまく出てこないので、そもそもこれであっているのかもよくわからない状況です。
103
+ ~~また、様々サイトを見たのですが、shadowroot下でのselectタグの扱いに関するものがどうもうまく出てこないので、そもそもこれであっているのかもよくわからない状況です。~~
104
+
105
+ ### 追記 試したこと
106
+ 別の適当なサイトにてshadowDOM下以外でのselect要素の取得を試しに行ってみたところ同じく下記エラーが発生しました。
107
+ ![イメージ説明](3892d065a042c0b782d928ab7653b9a3.png)
108
+ つまり、shadow-root下の条件ではなく、select要素の取得方法が間違っている可能性が高いようです。
109
+ [過去の投稿](https://teratail.com/questions/332395)からshadowDOM下の要素の取得と実行に関しては、selenium上ではjavascriptの実行(ExecuteScript hoge )でないと成立しないようなので、
110
+ 私の必要な情報は**seleniumでのselect要素の取得とjavascriptの実行だということだと考えられます。**
111
+ **
103
112
  ご教授のほどよろしくお願いします。

4

疑問点の追加、検討

2021/08/06 07:33

投稿

tetrisuehara
tetrisuehara

スコア20

title CHANGED
File without changes
body CHANGED
@@ -98,5 +98,6 @@
98
98
  ### 疑問点
99
99
  value of nullということはなにかかが認識されてはいないとは思うんですが、よくわかりません。
100
100
  また、手法を変えて、valueでの変更ではなく、option[hoge].selected ="true";での記述も試みましたが結果としてはやはりnull扱いとなりました。
101
+ 追記:value of null ということは、seemoreの参照を見つけていないということなのか?
101
102
  また、様々サイトを見たのですが、shadowroot下でのselectタグの扱いに関するものがどうもうまく出てこないので、そもそもこれであっているのかもよくわからない状況です。
102
103
  ご教授のほどよろしくお願いします。

3

試したことの追記、tagへのjavascriptの追記

2021/08/05 02:51

投稿

tetrisuehara
tetrisuehara

スコア20

title CHANGED
File without changes
body CHANGED
@@ -18,7 +18,7 @@
18
18
  ### 試したこと
19
19
  2・5に関してはshadow-root下のselectタグを選択する方法として下記の通りchromeの印刷プレビューのソースのselectタグ部分をJspathで抜き出し、**value**を入れてやるという方法をとってみたのですが下記のエラーが起きております。
20
20
  また、5.倍率変更に関しては、倍率ボタンを押せないために、~~その後の数値を入れるところまでできていません。~~
21
- (追記:send key で倍率ボタンをクリックした扱い(カスタム状態にする)にして倍率を変更する事はできました。また、選択すべきJsPathが違っていたので修正します。)
21
+ (追記:実験的に力技でsend key で倍率ボタンをクリックした扱い(カスタム状態にする)にして倍率を変更する事はできました。この力技を使わない事が最終目標になりす。また、選択すべきJsPathが違っていたので修正します。)
22
22
  ![chrome印刷プレビューソース](975c3d4f76c11f0a20c1a616744995a7.png)
23
23
  ```VBA
24
24
  Sub chrome印刷()
@@ -97,5 +97,6 @@
97
97
  ![イメージ説明](3892d065a042c0b782d928ab7653b9a3.png)
98
98
  ### 疑問点
99
99
  value of nullということはなにかかが認識されてはいないとは思うんですが、よくわかりません。
100
+ また、手法を変えて、valueでの変更ではなく、option[hoge].selected ="true";での記述も試みましたが結果としてはやはりnull扱いとなりました。
100
101
  また、様々サイトを見たのですが、shadowroot下でのselectタグの扱いに関するものがどうもうまく出てこないので、そもそもこれであっているのかもよくわからない状況です。
101
102
  ご教授のほどよろしくお願いします。

2

未解決の一部のみ解決したので追記いたしました。

2021/08/04 05:35

投稿

tetrisuehara
tetrisuehara

スコア20

title CHANGED
File without changes
body CHANGED
@@ -10,14 +10,15 @@
10
10
  0. 送信先ドロップダウンリスト(画像参照)から、「もっと見る」を選択
11
11
  0. 送信先選択画面からDocuWorks Printerを選択する。**__(解決済み)__**
12
12
  0. 詳細設定画面を開く**__(解決済み)__**
13
- 0. 最後に印刷倍率を調整
13
+ 0. 最後に印刷倍率を調整**__(一部解決済み)__**
14
14
  0. 印刷ボタンを押す。**__(解決済み)__**
15
15
  までを行いたいと考えています。
16
16
  ![印刷プレヴュー](5a4aa0b8eb7fe676d8247e8c4f977aec.png)
17
17
  ![ドラバー選択](8ae485a1b5521dff246ea120c279c6fd.png)
18
18
  ### 試したこと
19
19
  2・5に関してはshadow-root下のselectタグを選択する方法として下記の通りchromeの印刷プレビューのソースのselectタグ部分をJspathで抜き出し、**value**を入れてやるという方法をとってみたのですが下記のエラーが起きております。
20
- また、5.倍率変更に関しては、倍率ボタンを押せないために、その後の数値を入れるところまでできていません。
20
+ また、5.倍率変更に関しては、倍率ボタンを押せないために、~~その後の数値を入れるところまでできていません。~~
21
+ (追記:send key で倍率ボタンをクリックした扱い(カスタム状態にする)にして倍率を変更する事はできました。また、選択すべきJsPathが違っていたので修正します。)
21
22
  ![chrome印刷プレビューソース](975c3d4f76c11f0a20c1a616744995a7.png)
22
23
  ```VBA
23
24
  Sub chrome印刷()
@@ -42,9 +43,9 @@
42
43
  Dim bai As String
43
44
  bai = "document.querySelector(""body > print-preview-app"").shadowRoot.querySelector(""#sidebar"").shadowRoot.querySelector(""#moreSettings > print-preview-scaling-settings"").shadowRoot.querySelector(""print-preview-settings-section > div > select"").Value = ""3"";"
44
45
 
45
- '倍率を97に変更
46
+ '倍率を90に変更
46
47
  Dim par As String
47
- par = "document.querySelector(""body > print-preview-app"").shadowRoot.querySelector(""#sidebar"").shadowRoot.querySelector(""#moreSettings > print-preview-scaling-settings"").shadowRoot.querySelector(""iron-collapse > print-preview-number-settings-section"").shadowRoot.querySelector(""#userValue"").shadowRoot.querySelector(""#row-container"")document.querySelector(""body > print-preview-app"").shadowRoot.querySelector(""#sidebar"").shadowRoot.querySelector(""#moreSettings > print-preview-scaling-settings"").shadowRoot.querySelector(""iron-collapse > print-preview-number-settings-section"").shadowRoot.querySelector(""#userValue"").shadowRoot.querySelector(""#row-container"").value =""97"";"
48
+ par = "document.querySelector(""body > print-preview-app"").shadowRoot.querySelector(""#sidebar"").shadowRoot.querySelector(""#moreSettings > print-preview-scaling-settings"").shadowRoot.querySelector(""iron-collapse > print-preview-number-settings-section"").shadowRoot.querySelector(""#userValue"").shadowRoot.querySelector(""#input"").value =""90"";"
48
49
 
49
50
  '印刷
50
51
  Dim s_print As String

1

内容が前に下書きしていたものになっていたので修正いたしました。

2021/08/04 01:38

投稿

tetrisuehara
tetrisuehara

スコア20

title CHANGED
File without changes
body CHANGED
@@ -7,41 +7,94 @@
7
7
  seleniumを利用して、自社のサイトの画面をdocuwarksで抜き出したい。
8
8
  chromeにて、
9
9
  0. 印刷プレビュー画面の呼び出し**__(解決済み)__**
10
- 0. 送信先ドロップダウンリスト(画像参照)から、もっと見るを選択
10
+ 0. 送信先ドロップダウンリスト(画像参照)から、もっと見るを選択
11
- 0. 送信先選択画面からDocuWorks Printerを選択する。
11
+ 0. 送信先選択画面からDocuWorks Printerを選択する。**__(解決済み)__**
12
+ 0. 詳細設定画面を開く**__(解決済み)__**
13
+ 0. 最後に印刷倍率を調整
12
- 0. 最後に印刷倍率を調整して印刷ボタンを押すまでを行いたいと思っております
14
+ 0. 印刷ボタンを押す。**__(解決済み)__**
13
-
15
+ までを行いたいと考えています。
14
16
  ![印刷プレヴュー](5a4aa0b8eb7fe676d8247e8c4f977aec.png)
15
17
  ![ドラバー選択](8ae485a1b5521dff246ea120c279c6fd.png)
16
18
  ### 試したこと
17
- 2・4に関してはshadow-root下のselectタグを選択する方法下記の通りchromeの印刷プレビューのソースのselectタグ部分をJspathで抜き出し、**value**を入れてやるという方法をとってみたのですが
19
+ 2・5に関してはshadow-root下のselectタグを選択する方法として下記の通りchromeの印刷プレビューのソースのselectタグ部分をJspathで抜き出し、**value**を入れてやるという方法をとってみたのですが下記のエラーが起きております。
20
+ また、5.倍率変更に関しては、倍率ボタンを押せないために、その後の数値を入れるところまでできていません。
18
21
  ![chrome印刷プレビューソース](975c3d4f76c11f0a20c1a616744995a7.png)
19
22
  ```VBA
23
+ Sub chrome印刷()
24
+
25
+ Dim driver As New Selenium.WebDriver
26
+ Dim skey As New Selenium.Keys
27
+ Dim Shadowprint As String
28
+
29
+ 'もっと見る呼び出し
20
30
  Dim seemore As String
21
31
  seemore = "document.querySelector(""body > print-preview-app"").shadowRoot.querySelector(""#sidebar"").shadowRoot.querySelector(""#destinationSettings"").shadowRoot.querySelector(""#destinationSelect"").shadowRoot.querySelector(""print-preview-settings-section:nth-child(10) > div > select"").value =""seeMore"";"
22
32
 
33
+ 'DocuWorksドライバ選択
34
+ Dim docu As String
35
+ docu = "document.querySelector(""body > print-preview-app"").shadowRoot.querySelector(""#sidebar"").shadowRoot.querySelector(""#destinationSettings"").shadowRoot.querySelector(""print-preview-destination-dialog"").shadowRoot.querySelector(""#printList"").shadowRoot.querySelector(""#destination_9 > print-preview-destination-list-item"").click();"
36
+
37
+ '詳細設定展開
38
+ Dim shousai As String
39
+ shousai = "document.querySelector(""body > print-preview-app"").shadowRoot.querySelector(""#sidebar"").shadowRoot.querySelector(""#container > print-preview-more-settings"").shadowRoot.querySelector (""div"").click();"
40
+
41
+ '倍率ボタンをカスタムに変更
42
+ Dim bai As String
43
+ bai = "document.querySelector(""body > print-preview-app"").shadowRoot.querySelector(""#sidebar"").shadowRoot.querySelector(""#moreSettings > print-preview-scaling-settings"").shadowRoot.querySelector(""print-preview-settings-section > div > select"").Value = ""3"";"
44
+
45
+ '倍率を97に変更
46
+ Dim par As String
47
+ par = "document.querySelector(""body > print-preview-app"").shadowRoot.querySelector(""#sidebar"").shadowRoot.querySelector(""#moreSettings > print-preview-scaling-settings"").shadowRoot.querySelector(""iron-collapse > print-preview-number-settings-section"").shadowRoot.querySelector(""#userValue"").shadowRoot.querySelector(""#row-container"")document.querySelector(""body > print-preview-app"").shadowRoot.querySelector(""#sidebar"").shadowRoot.querySelector(""#moreSettings > print-preview-scaling-settings"").shadowRoot.querySelector(""iron-collapse > print-preview-number-settings-section"").shadowRoot.querySelector(""#userValue"").shadowRoot.querySelector(""#row-container"").value =""97"";"
48
+
49
+ '印刷
50
+ Dim s_print As String
51
+ s_print = "document.querySelector(""body > print-preview-app"").shadowRoot.querySelector(""#sidebar"").shadowRoot.querySelector(""print-preview-button-strip"").shadowRoot.querySelector(""div > cr-button.action-button"").click();"
52
+
53
+ '--------------------------------------------------------------------------------------------------------------------------------------
23
54
  driver.Start "chrome"
24
55
  driver.Get "https://www.google.com/"
25
56
 
57
+ '印刷画面呼び出し
26
- driver.ExecuteScript "setTimeout(function(){window.print();}, 0);"
58
+ driver.ExecuteScript "setTimeout(function(){window.print();}, 0);"
59
+
60
+ 'VBAの場合十分な時間待たないと失敗する。
61
+ driver.Wait (3000)
62
+ driver.SwitchToNextWindow
63
+
64
+ '送信先選択でもっと見るを選択
65
+ driver.ExecuteScript seemore
66
+
67
+
68
+ driver.Wait (3000)
69
+
70
+ '印刷ドライバ選択
71
+ driver.ExecuteScript docu
72
+
73
+ '倍率変更のために詳細設定をクリックし開く
74
+ driver.ExecuteScript shousai
75
+
76
+ '倍率をカスタムに変更
77
+ driver.ExecuteScript bai
78
+
79
+ '倍率を入力
80
+ driver.ExecuteScript par
81
+ driver.Wait (3000)
82
+ '印刷ボタンを押す
83
+ driver.ExecuteScript s_print
84
+
85
+ 'VBAの場合Closeで勝手に閉じるので十分な時間WAIT。
86
+ driver.Wait (20000)
27
87
 
28
- driver.Wait (3000)
29
- driver.SwitchToNextWindow
30
- driver.ExecuteScript seemore
31
88
 
89
+
90
+
32
- 以下略
91
+ End Sub
92
+
33
93
  ```
34
94
  ### 発生している問題・エラーメッセージ
35
95
 
36
96
  ![イメージ説明](3892d065a042c0b782d928ab7653b9a3.png)
37
- ### 該当のソースコード
97
+ ### 疑問点
38
-
39
- ```ここに言語名を入力
40
- ソースコード
41
- ```
42
-
43
-
44
-
45
- ### 補足情報(FW/ツールのバージョンど)
98
+ value of nullということはにかかが認識されてはいないとは思うんですが、よくわかりません。
46
-
99
+ また、様々サイトを見たのですが、shadowroot下でのselectタグの扱いに関するものがどうもうまく出てこないので、そもそもこれであっているのかもよくわからない状況です。
47
- ここにり詳細な情報を記載ださい。
100
+ ご教授のほどしくお願します