[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『WebDriverをVBAで動かす』(696)
御紹介頂きました
ttps://qiita.com/uezo/items/66e20b064ffd5f239b9a
を読みましてTinySeleniumVBAを用いずに動くよう挑戦しています。
質問番号20210824105328にて助言頂きましたのと同じ原因でname属性重複のため値入力が出来ません。こちらの方式では(1)といった記述が出来ないようで、どのように条件指定を行うべきでしょう?
' 検索テキストボックスを取得するためのパラメータを準備 Dim elmparams As New Dictionary elmparams.Add "using", "css selector" elmparams.Add "value", "[name=""IdatenPassWord""]"
' 検索テキストボックスを取得して`elementId`に控えておく Dim elementId As String elementId = SendRequest("POST", "http://localhost:9515/session/" + sessionId + "/element", elmparams)("value")("element-6066-11e4-a52e-4f735466cecf")
' 代入するテキストを準備 Dim text As String text = Range("H19")
' 1文字ずつに区切る Dim chars() As String ReDim chars(Len(text) - 1) Dim i As Integer For i = 0 To UBound(chars) chars(i) = Mid(text, i + 1, 1) Next
' 値入力用のパラメータを準備 Dim valparams As New Dictionary valparams.Add "text", text valparams.Add "value", chars
' 値入力の指示 SendRequest "POST", "http://localhost:9515/session/" + sessionId + "/element/" + elementId + "/value", valparams
< 使用 Excel:Office365、使用 OS:Windows10 >
SeleniumBasic もTinySeleniumVBAも使ったことないので、ちょろっと読んでみましたが、 TinySeleniumVBA 導入したならなぜ TinySeleniumVBA の機能をつかわないんですか?
TinySeleniumVBAにもFindElementというメソッドが用意されてるので、それを使えばいいのでは? TinySeleniumVBAのFindElementメソッドで使える要素の種類は、以下です。 Public Enum By ID = 0 TagName = 1 ClassName = 2 Name = 3 CssSelector = 4 Xpath = 5 End Enum で、これの何を使えばいいかは、HTMLのソースを読んで考えるしかありません。
・TinySeleniumVBAの使い方を把握すること ・接続先のHTMLソースを読んである程度分析すること の2点が必要です。 いずれもExcelの範疇ではないと思いますが。 (´・ω・`) 2021/08/24(火) 14:26
TinySeleniumVBAを導入してみたのですが後々のメンテ性を考えるとメンバーが広範に理解できないために避けたいと要望されまして、クラスモジュールなしのVBA記述でWebDriverを稼働させることを目指しております。
(696) 2021/08/24(火) 14:42
素手で取り組むことが、貴方には理解できても、
広範の方の理解しやすさに繋がるとはとても思えません。
悪い冗談では?そんな簡単なものでは無いと思います。
TinySeleniumVBAはまだ初期故障が出切っていないと思いますし、
仮にそれを使うにしてももう少し待った方が賢明です。
出先なので取り急ぎ。
(γ) 2021/08/24(火) 15:31
●SeleniumBasic
⇒導入にシステム部の許可が必要になるため組織内で気軽に利用できないため
●TinySeleniumVBA
⇒御指摘の通り初期故障が出切っていない可能性が高いため
そのため、VBAからSeleniumBasicをインストールすることなくVBAから直接ChromeやEdge(のWebDriver)を操作する方法を採用したいと研究しており、今回の質問となりました。
(696) 2021/08/24(火) 15:41
>後々のメンテ性を考えるとメンバーが広範に理解できない 逆でしょう 理解しやい&使い易いようにモジュールを用意しているのであって、 WebDriverと直接やりとりする方がずっとわかりにくいと思います。
>初期故障が出切っていない TinySeleniumVBAの作者よりよいコードをかける自信があるんですね。
まあ、その辺はどうでもいいですが。
TinySeleniumVBAはコードがすべて公開されていてしかも短いです。 開発段階ではまず (1)TinySeleniumVBAを使って動くコードを書く (2)TinySeleniumVBAのプロシジャをインラインで書き下す という手順を踏めばいいんじゃないですか?
TinySeleniumVBAはコードが全部見えているので、何の意味もないと思いますが (´・ω・`) 2021/08/24(火) 15:52
(γ) 2021/08/24(火) 16:26
γさんに申し上げた訳ではありません。 >SeleniumBasicのほうが相対的に枯れているだろう これはわかります。そのためSeleniumBasicを使うというのもわかります。
でも、自分でフルスクラッチで書くというの選択をするのはよくわかりません。 コードは全部見えているので、使えるところは使いつつ、 エラーが出たら直せばいいのにと思います (´・ω・`) 2021/08/24(火) 16:35
解読進めたほうが簡単なのに
なぜわざわざ面倒な二度手間を……ということですよね。
仰る通りだと思います。
御提案頂いたプランに方針変更いたします。
(696) 2021/08/24(火) 18:17
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.