回答編集履歴
4
answer
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
driver.ExecuteScript(seemore).Click
|
16
16
|
```
|
17
17
|
|
18
|
-
【注意】seemoreのスクリプト文字列を組み立てている部分は、実際の環境によって異なる場合があります。(上記をそのままコピペしてもうまく行かない場合があります)
|
18
|
+
【注意】上記のseemoreのスクリプト文字列を組み立てている部分は、実際の環境やChromeのバージョンによって異なる場合があります。(上記をそのままコピペしてもうまく行かない場合があります)
|
19
19
|
この部分(セレクトボックスを開いたときに現れる「もっと見る」の要素)のJSPathをクリックして取得しようとしても、
|
20
20
|
クリック時にインスペクタが無効になってしまい、なかなか取得できないように思えますが、下記のようにすれば取得することができます。
|
21
21
|
|
3
answer
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
```
|
17
17
|
|
18
18
|
【注意】seemoreのスクリプト文字列を組み立てている部分は、実際の環境によって異なる場合があります。(上記をそのままコピペしてもうまく行かない場合があります)
|
19
|
-
この部分(セレクトボックス
|
19
|
+
この部分(セレクトボックスを開いたときに現れる「もっと見る」の要素)のJSPathをクリックして取得しようとしても、
|
20
20
|
クリック時にインスペクタが無効になってしまい、なかなか取得できないように思えますが、下記のようにすれば取得することができます。
|
21
21
|
|
22
22
|
1.VBAエディタで印刷ダイアログを開く処理(driver.SwitchToNextWindow)の後の行にブレークポイントを設定しておきます。
|
2
answer
CHANGED
@@ -15,8 +15,8 @@
|
|
15
15
|
driver.ExecuteScript(seemore).Click
|
16
16
|
```
|
17
17
|
|
18
|
-
【注意】seemoreのスクリプト文字列を組み立てている部分は、実際の環境によって
|
18
|
+
【注意】seemoreのスクリプト文字列を組み立てている部分は、実際の環境によって異なる場合があります。(上記をそのままコピペしてもうまく行かない場合があります)
|
19
|
-
この部分(セレクトボックスと開いたときに現れる「もっと見る」の要素)のJSPathをChromeをクリックして取得しようとしても、
|
19
|
+
この部分(セレクトボックスと開いたときに現れる「もっと見る」の要素)のJSPathをChromeをクリックして取得しようとしても、
|
20
20
|
クリック時にインスペクタが無効になってしまい、なかなか取得できないように思えますが、下記のようにすれば取得することができます。
|
21
21
|
|
22
22
|
1.VBAエディタで印刷ダイアログを開く処理(driver.SwitchToNextWindow)の後の行にブレークポイントを設定しておきます。
|
@@ -41,9 +41,9 @@
|
|
41
41
|
|
42
42
|
```VBA
|
43
43
|
bai = "return document.querySelector(""body > print-preview-app"")" _
|
44
|
-
& .shadowRoot.querySelector(""#sidebar"") _
|
44
|
+
& ".shadowRoot.querySelector(""#sidebar"")" _
|
45
|
-
& .shadowRoot.querySelector(""#moreSettings > print-preview-scaling-settings"") _
|
45
|
+
& ".shadowRoot.querySelector(""#moreSettings > print-preview-scaling-settings"")" _
|
46
|
-
& .shadowRoot.querySelector(""print-preview-settings-section > div > select > option:nth-child(4)"");"
|
46
|
+
& ".shadowRoot.querySelector(""print-preview-settings-section > div > select > option:nth-child(4)"");"
|
47
47
|
|
48
48
|
driver.ExecuteScript(bai).Click
|
49
49
|
|
1
修正・追記
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
optionの要素をreturnし、それを
|
1
|
+
optionの要素をJS上でreturnし、それをSelenium側でClickするようにしてはいかがでしょうか。
|
2
2
|
|
3
3
|
|
4
4
|
```VBA
|
@@ -15,9 +15,9 @@
|
|
15
15
|
driver.ExecuteScript(seemore).Click
|
16
16
|
```
|
17
17
|
|
18
|
-
【注意】seemoreのスクリプト文字列を組み立てている部分
|
18
|
+
【注意】seemoreのスクリプト文字列を組み立てている部分は、実際の環境によっては異なる数字になります。
|
19
|
-
|
19
|
+
この部分(セレクトボックスと開いたときに現れる「もっと見る」の要素)のJSPathをChromeをクリックして取得しようとしても、
|
20
|
-
|
20
|
+
クリック時にインスペクタが無効になってしまい、なかなか取得できないように思えますが、下記のようにすれば取得することができます。
|
21
21
|
|
22
22
|
1.VBAエディタで印刷ダイアログを開く処理(driver.SwitchToNextWindow)の後の行にブレークポイントを設定しておきます。
|
23
23
|
|
@@ -31,4 +31,20 @@
|
|
31
31
|
すると、ソースの「md-select」が選択されるはずですので、その先頭の三角矢印をクリックして展開します。(画像中黄色丸で囲んだ部分)
|
32
32
|
|
33
33
|
4.セレクトボックスのoption の部分のソースが現れるので 「もっと見る」の行を右クリックしてJSPathをCopyします。(画像中、黄色の四角で囲んだ行)
|
34
|
-

|
34
|
+

|
35
|
+
|
36
|
+
---
|
37
|
+
|
38
|
+
|
39
|
+
倍率「カスタム」の選択も同様にJS上でreturnさせてClickすれば出来ると思います。
|
40
|
+
(各クリックの前後で0.5~1秒ほどwaitをかけておいた方が安全かと思います)
|
41
|
+
|
42
|
+
```VBA
|
43
|
+
bai = "return document.querySelector(""body > print-preview-app"")" _
|
44
|
+
& .shadowRoot.querySelector(""#sidebar"") _
|
45
|
+
& .shadowRoot.querySelector(""#moreSettings > print-preview-scaling-settings"") _
|
46
|
+
& .shadowRoot.querySelector(""print-preview-settings-section > div > select > option:nth-child(4)"");"
|
47
|
+
|
48
|
+
driver.ExecuteScript(bai).Click
|
49
|
+
|
50
|
+
```
|