質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

2回答

2411閲覧

C#WebBrowserのDocumentCompletedで、文字を入力したい。

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2016/02/04 02:26

いつもおせわになります。
C#, VisualStudio 2013 express, Windows7の質問です。

WebBrowserのDocumentCompletedで、
<input type="text" name="userName" id="userName" style="width: 95%" autofocus="">
にusernameの文字を入れるには、どうすればよいでしょう。

HtmlElement userName = webbrowser.Document.GetElementById("userName"); if (userName != null) userName.InnerText = "kaorurider";

としていますが、文字が入らない状況です。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

inputタグの文字はattribute 'value'ですね。つまり、それはInnerTextではない。

C#

1HtmlElement userName = webbrowser.Document.GetElementById("userName"); 2if (userName != null) 3 userName.SetAttribute("value", "kaorurider");

投稿2016/02/10 16:23

PENGUINLIONG

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/02/12 00:33

情報ありがとうございます。 innertextではなく、setattribute-valueにしても、同様で、[signin]buttonを押すと入力した値が消え、signinは依然、できずにおります。 innertext/setattribute-valueの問題ではなく、signinbuttonで消えるのが問題なのか、と思っています。
guest

0

こんにちは。

Windows8.1だと設定されますね。
UserName.InnerText = "xxx" の後に、MessageBox.ShowやApplication.DoEventsを行ってみると変化ありますか?

投稿2016/02/04 02:35

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/02/04 04:12

いつもありがとうございます。 残念ながら、 Application.DoEvents(); MessageBox.Show(""); はどちらもだめでした。 現在のmethodとhtmlのbody部分です。 htmlのようにlogin画面にid/pwをいれてloginしようとしていますが、 ・signinを自動で押すと何も反応がなくなる。 ・signinの部分をcommentoutしてsigninを手動で押すとID/PWがオミットされ、いずれも空になる、という状況です。 bool IsLogin = false; private void reedwebbrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { WebBrowser webbrowser = sender as WebBrowser; if (!IsLogin && webbrowser.Url.ToString().Contains("signin?")) { HtmlElement userName = webbrowser.Document.GetElementById("userName"); if (userName != null) { userName.InnerText = "kaorurider"; //Application.DoEvents(); } HtmlElement password = webbrowser.Document.GetElementById("password"); if (password != null) { password.InnerText = "password"; //IsLogin = true; //Application.DoEvents(); //MessageBox.Show(""); } HtmlElementCollection inputs = webbrowser.Document.GetElementsByTagName("input"); foreach (HtmlElement input in inputs) { string innertext = input.InnerText; string classname = input.GetAttribute("className"); if (classname.Contains("btn-success")) input.InvokeMember("click"); } } <body> <form id="search" action="/gitbucket/search" method="POST"> <div class="navbar"> <div class="navbar-inner"> <div class="container" style="width: 980px;"> <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="brand" href="/gitbucket/"> <img src="/gitbucket/assets/common/images/gitbucket.png" style="width: 24px; height: 24px;"/>GitBucket <span class="header-version">3.9</span> </a> <div class="nav-collapse collapse pull-right header-menu"> <a href="/gitbucket/signin?redirect=%2Fsignin" class="btn" id="signin">Sign in</a> </div><!--/.nav-collapse --> </div> </div> </div> </form> <div class="signin-form"> <div class="box-header"> <span class="strong">Sign in</span> </div> <div class="box-content-bottom"> <form action="/gitbucket/signin" method="POST" validate="true"> <label for="userName">Username:</label> <span id="error-userName" class="error"></span> <input type="text" name="userName" id="userName" style="width: 95%" autofocus/> <label for="password">Password:</label> <span id="error-password" class="error"></span> <input type="password" name="password" id="password" style="width: 95%"/> <div> <input type="submit" class="btn btn-success" value="Sign in"/> </div> </form> </div> </div> <script> $(function(){ $('#search').submit(function(){ return $.trim($(this).find('input[name=query]').val()) != ''; }); }); </script> <script> $('a.global-header-menu:last').after( $('<a href="/gitbucket/gist" class="global-header-menu">Gist</a>') ); </script> </body>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問