VB 代码仅检测到一个 HTML 元素并忽略其余元素
VB code detects only one HTML element and ignores the rest
我正在使用 VB 检测文档中的所有 textarea
元素并编辑它们的值。
这是代码:
For Each Element As HtmlElement In WebBrowser4.Document.GetElementsByTagName("textarea")
MsgBox(Element.GetAttribute("name"))
If (Element.GetAttribute("name") = "field1") Then
Element.SetAttribute("Value", Message)
ElseIf (Element.GetAttribute("name") = "field2") Then
Element.SetAttribute("Value", My.User.Name.Replace("/", "~"))
End If
Exit For
Next Element
如您所见,我感兴趣的两个 textarea
元素具有 field1
和 field2
的 name
,但是我的代码 只检测和编辑field1
.
我试过添加更多的元素,但它仍然没有检测到任何东西,除了 field1
。
这是我正在搜索的文档:
<?php
if(isset($_POST['field1']) && isset($_POST['field2'])) {
$data = $_POST['field1'];
file_put_contents($_POST['field2'] . '.txt', "");
$ret = file_put_contents($_POST['field2'] . '.txt', $data, FILE_APPEND | LOCK_EX);
}
?>
<form action="" method="POST">
<textarea style="width: 800px;" name="field1"><?php echo htmlspecialchars($field1) ?></textarea>
<textarea style="width: 800px;" name="field2"><?php echo htmlspecialchars($field2) ?></textarea>
<input type="submit" style="width: 150px;" name="submit" value="Save Data">
<input type="reset" style="width: 150px;" name="reset" value="Reset"/>
</form>
我很困惑。我做错了什么?
你实际上并没有在循环。尝试:
For Each Element As HtmlElement In WebBrowser4.Document.GetElementsByTagName("textarea")
MsgBox(Element.GetAttribute("name"))
If (Element.GetAttribute("name") = "field1") Then
Element.SetAttribute("Value", Message)
ElseIf (Element.GetAttribute("name") = "field2") Then
Element.SetAttribute("Value", My.User.Name.Replace("/", "~"))
End If
Next 'loop to next element
对于每个文档:https://msdn.microsoft.com/en-AU/library/5ebk1751.aspx
我正在使用 VB 检测文档中的所有 textarea
元素并编辑它们的值。
这是代码:
For Each Element As HtmlElement In WebBrowser4.Document.GetElementsByTagName("textarea")
MsgBox(Element.GetAttribute("name"))
If (Element.GetAttribute("name") = "field1") Then
Element.SetAttribute("Value", Message)
ElseIf (Element.GetAttribute("name") = "field2") Then
Element.SetAttribute("Value", My.User.Name.Replace("/", "~"))
End If
Exit For
Next Element
如您所见,我感兴趣的两个 textarea
元素具有 field1
和 field2
的 name
,但是我的代码 只检测和编辑field1
.
我试过添加更多的元素,但它仍然没有检测到任何东西,除了 field1
。
这是我正在搜索的文档:
<?php
if(isset($_POST['field1']) && isset($_POST['field2'])) {
$data = $_POST['field1'];
file_put_contents($_POST['field2'] . '.txt', "");
$ret = file_put_contents($_POST['field2'] . '.txt', $data, FILE_APPEND | LOCK_EX);
}
?>
<form action="" method="POST">
<textarea style="width: 800px;" name="field1"><?php echo htmlspecialchars($field1) ?></textarea>
<textarea style="width: 800px;" name="field2"><?php echo htmlspecialchars($field2) ?></textarea>
<input type="submit" style="width: 150px;" name="submit" value="Save Data">
<input type="reset" style="width: 150px;" name="reset" value="Reset"/>
</form>
我很困惑。我做错了什么?
你实际上并没有在循环。尝试:
For Each Element As HtmlElement In WebBrowser4.Document.GetElementsByTagName("textarea")
MsgBox(Element.GetAttribute("name"))
If (Element.GetAttribute("name") = "field1") Then
Element.SetAttribute("Value", Message)
ElseIf (Element.GetAttribute("name") = "field2") Then
Element.SetAttribute("Value", My.User.Name.Replace("/", "~"))
End If
Next 'loop to next element
对于每个文档:https://msdn.microsoft.com/en-AU/library/5ebk1751.aspx