アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつも大変お世話になっております。

要素を取得してテキストボックスに文字を入力したくて色々試しているのですがうまくいきません。

<div class="form__group__itemBox--narrow">
<input type="text" class="form__item js-doc-note" id="doc-note" placeholder="送信先の会社名などを入力してください" value="" data-doc_id="01j37x28kvp74h2m8tw9q6k9k3nwz7qw">
</div>

上記の要素の箇所を

driver.FindElementByXPath("//*[@id="""doc-note""]/form/input").SendKeys "test"

のコードで取得して入力をしたいのですが、エラーになります。

どなたかご教示頂ける方いらっしゃいましたらよろしくお願いいたします。

質問者からの補足コメント

  • 先ほどのは間違えです。

    誤)driver.FindElementByXPath("//*[@id="""doc-note""]/form/input").SendKeys "test"

    正)driver.FindElementByXPath("//*[@id="""doc-note""]").SendKeys "test"

    上記のコードでも動かないです

      補足日時:2023/04/10 21:05

A 回答 (5件)

No3です。



再度書きますが、Selenium Basic は知りません。

>実行時エラー0
>SeleniumError
>element not interactable
雰囲気的に、そのままいきなり書いてたりしませんか?

DriverのメソッドのであることはXPath での取得と同様です。
https://vba-labo.rs-techdev.com/archives/1845
    • good
    • 0
この回答へのお礼

ありがとうございます。
wait時間が少なかったのが原因のようでした。
2度も回答頂き感謝します。

お礼日時:2023/04/11 08:55

>element not interactable


当該要素をいったん画面上に表示させるようスクロールさせる(コードを追加する)と良い――とかネットで見つかりますね。
    • good
    • 0
この回答へのお礼

ありがとうございます。
wait時間が少なかったのが原因のようでした。
でも、そういう方法があるんですね、ネット見てとても勉強になりました。

お礼日時:2023/04/11 08:53

No2です。



投稿してから調べてみたら、「値のセット」は .SendKeys で良いみたいですね。
大変失礼いたしました。
訂正しておきます。
    • good
    • 0
この回答へのお礼

いつも回答頂きありがとうございます。
実行時エラー0
SeleniumError
element not interactable
Session info MicrosoftEdge=112.0.1722.34)

がエラー内容です。

お礼日時:2023/04/10 22:56

こんばんは



Selenium Basic は良く知りませんけれど・・

取得したい要素にはIDが振ってあるみたいなので、XPathではなく、直接IDで取得すれば良いのではないでしょうか?
(元のHTMLが正しい文書構造であると仮定しています)
また、要素に対してはSendkeyではなく、値のセットでは?

 FindElementById("doc-note").Value = "test"
    • good
    • 0

>"//*[@id="""doc-note""]"


「"""」を「""」にしてみるとか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
よく確認したら確かに「"""」3つでした!
でも、状況は変わりませんでした。

実行時エラー0
SeleniumError
element not interactable
Session info MicrosoftEdge=112.0.1722.34)

がエラー内容です。

お礼日時:2023/04/10 22:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています