如何填写表格并使用 windows 申请提交
How to Fill form and submit using windows application
这里的人想知道,因为它太旧了,已经问过了..
但是我的问题出现了。
您看到两个同名的输入字段?
HTML 代码
<html>
<head><title></title>
</head>
<body>
<input type="hidden" name="textbox" />
<form name="tax280" method="post">
<table>
<tr><td>
<input type="text" name="textbox" />
</td>
</tr>
</table>
<input type="submit" value="Register" />
</form>
</body>
</html>
但是当我使用下面的代码时。我认为值已在隐藏属性中设置。
HtmlDocument doc = this.webBrowser1.Document;
doc.GetElementById("textbox").SetAttribute("Value", "text");
在 Simple How to set values required textbox alone 我找不到任何解决方案,请帮忙。
请访问此 link 并单击 link 该页面包含 https://onlineservices.tin.egov-nsdl.com/etaxnew/tdsnontds.jsp
嗯,你需要设置一个ID。因为 GetElementById
使用 id
属性,而不是 name
。
<input type="text" name="textbox" id="textbox" />
如果你有这个HTML,请注意id
和name
属性的区别:
<input type="text" name="textbox" id="firstTextbox" />
<input type="text" name="textbox" id="secondTextbox" />
您可以通过 getElementsByName
(ByName returns 数组)访问它们:
var fistTextBox = document.getElementsByName('textbox')[0];
var secondTextBox = document.getElementsByName('textbox')[1];
但是为了避免出现问题,您应该使用:
var fistTextBox = document.getElementById('firstTextbox');
var secondTextBox = document.getElementById('secondTextbox');
因为.getElementById
return只有一项。
一天后,我找到了问题的答案。
当有 2 个或更多文本输入字段时,可以轻松地在两个字段上填写数据。
<html>
<head>
<title></title>
</head>
<body>
<input type="hidden" name="textbox" />
<form name="tax280" method="post">
<table>
<tr>
<td>
<input type="text" name="textbox" />
</td>
</tr>
</table>
<input type="submit" value="Register" />
</form>
</body>
</html>
和windows表格申请代码如下。
var elements = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement element in elements)
{
if (element.Name.Contains("textbox"))
{
element.SetAttribute("Value", "my text");
}
}
它有效,但问题是数据填写在两个文本字段中..
谢谢各位帮我解答问题的热心人。
:D
这里的人想知道,因为它太旧了,已经问过了.. 但是我的问题出现了。
您看到两个同名的输入字段?
HTML 代码
<html>
<head><title></title>
</head>
<body>
<input type="hidden" name="textbox" />
<form name="tax280" method="post">
<table>
<tr><td>
<input type="text" name="textbox" />
</td>
</tr>
</table>
<input type="submit" value="Register" />
</form>
</body>
</html>
但是当我使用下面的代码时。我认为值已在隐藏属性中设置。
HtmlDocument doc = this.webBrowser1.Document;
doc.GetElementById("textbox").SetAttribute("Value", "text");
在 Simple How to set values required textbox alone 我找不到任何解决方案,请帮忙。
请访问此 link 并单击 link 该页面包含 https://onlineservices.tin.egov-nsdl.com/etaxnew/tdsnontds.jsp
嗯,你需要设置一个ID。因为 GetElementById
使用 id
属性,而不是 name
。
<input type="text" name="textbox" id="textbox" />
如果你有这个HTML,请注意id
和name
属性的区别:
<input type="text" name="textbox" id="firstTextbox" />
<input type="text" name="textbox" id="secondTextbox" />
您可以通过 getElementsByName
(ByName returns 数组)访问它们:
var fistTextBox = document.getElementsByName('textbox')[0];
var secondTextBox = document.getElementsByName('textbox')[1];
但是为了避免出现问题,您应该使用:
var fistTextBox = document.getElementById('firstTextbox');
var secondTextBox = document.getElementById('secondTextbox');
因为.getElementById
return只有一项。
一天后,我找到了问题的答案。
当有 2 个或更多文本输入字段时,可以轻松地在两个字段上填写数据。
<html>
<head>
<title></title>
</head>
<body>
<input type="hidden" name="textbox" />
<form name="tax280" method="post">
<table>
<tr>
<td>
<input type="text" name="textbox" />
</td>
</tr>
</table>
<input type="submit" value="Register" />
</form>
</body>
</html>
和windows表格申请代码如下。
var elements = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement element in elements)
{
if (element.Name.Contains("textbox"))
{
element.SetAttribute("Value", "my text");
}
}
它有效,但问题是数据填写在两个文本字段中..
谢谢各位帮我解答问题的热心人。 :D