

<https://www.paypal.com/myaccount/transfer/buy>

ID要素のテキストボックスに文字を入力するだけなのですが

[code]

     webBrowser1.Document.GetElementById("recipient").SetAttribute("value","test@mail");
    
[/code]

上記コードだと表面上は入力は出来てもvalueに文字が反映されません。  
（また、テキストボックスをクリックすると入力された文字も消えます）

追記：問題の現象をGIF化しました。  
[![画像の説明をここに入力](https://i.stack.imgur.com/GeOOH.gif)](https://i.stack.imgur.com/GeOOH.gif)

1度目、textboxへ入力、disable属性を無効化後ボタンクリック⇒入力前に戻る

[code]

      //textboxへ入力
      dynamic document = webBrowser1.Document.DomDocument;
      document.getElementById("recipient").value = "test@mail";
      //disable属性無効化
      dynamic document = webBrowser1.Document.DomDocument;
      document.querySelector("input[type=submit]").disabled = false;
    
[/code]

２度目、質問の通り、textboxへ上記コードで入力後textboxをクリックしてみると消えることが確認できます。(valueに反映されてないということかと思います。)

３度目、上記コード内容を手動でやってみると次の画面へ推移することが確認できます。

原因が分かる方はご教授いただけると助かります。  
よろしくおねがいいたします。  
visual studio express 2015 for desktop (64bit) windows10


CC BY-SA 3.0
2017-07-31T02:20:47.927
36801
2017-07-31T08:12:16.407
2017-07-31T07:56:26.240
12778
12778
question
javascript c# html
GetElementByIdのSetAttributeで文字入力が上手くいかない場合の解決策はありますか？


`HTMLInputElement`の`value`プロパティはユーザーの入力によって変化しうるため、初期値である`value`属性の値とは[同期しない仕様](https://www.w3.org/TR/DOM-
Level-2-HTML/html.html#ID-49531485)となっています。


CC BY-SA 3.0
2017-07-31T03:30:53.410
36802
2017-07-31T03:30:53.410
5750
36801
answer


属性には[content属性とIDL属性](https://developer.mozilla.org/ja/docs/Web/HTML/Attributes#Content_versus_IDL_attributes)とがあり、プロパティと一致しないものもあります。件の`value`属性も`value`プロパティとは別物です。  
その上で解決策ですが、[webbrowserの自動化処理でdisabledを処理するには？](https://ja.stackoverflow.com/a/36778/4236)でも回答しましたが、HTML操作は簡単です。

[code]

    dynamic document = webBrowser1.Document.DomDocument;
    document.getElementById("recipient").value = "test@mail";
    
[/code]

で済みます。

* * *

> テキストボックスをクリックすると入力された文字も消えます

とのことですが、つまり入力そのものは成功していると思われます。その上で、当該Webサイトでは自動操作対策が行われていて、入力内容がリセットされているのではないでしょうか？
特定サイトに起因する問題ですし、自動操作対策であれば回避した場合には不正アクセスにもなり兼ねません。


CC BY-SA 3.0
2017-07-31T07:10:06.667
36810
2017-07-31T08:12:16.407
2017-07-31T08:12:16.407
4236
4236
36801
answer