Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Dim PageInput As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("input")
For Each elem As HtmlElement In PageInput
If elem.GetAttribute("name") = "wdf_origin" Then
elem.SetAttribute("value", FromTXT.Text)
End If
If elem.GetAttribute("name") = "wdf_destination" Then
elem.SetAttribute("value", ToTXT.Text)
End If
If RadioButton1.Checked = True Then
elem.GetAttribute("id") = "oneway" Then
elem.SetAttribute("checked", RadioButton1.Checked) Then
elem.GetAttribute("id") = "wdfdate1" Then
elem.SetAttribute("value", DateTimePicker1.Text)
End If
If RadioButton2.Checked = True Then
elem.GetAttribute("id") = "return" Then
elem.SetAttribute("checked", RadioButton2.Checked) Then
elem.GetAttribute("id") = "wdfdate1" Then
elem.SetAttribute("value", DateTimePicker1.Text) Then
elem.GetAttribute("id") = "wdfdate2" Then
elem.SetAttribute("value", DateTimePicker2.Text)
End If
Next
Dim PageInput2 As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("select")
For Each elem As HtmlElement In PageInput2
If elem.GetAttribute("id") = "adults" Then
elem.SetAttribute("value", AdultsTXT.Text)
End If
If elem.GetAttribute("id") = "children" Then
elem.SetAttribute("value", ChildrenTXT.Text)
End If
If elem.GetAttribute("id") = "infants" Then
elem.SetAttribute("value", InfantsTXT.Text)
End If
If RadioButton1.Checked = True Then
elem.GetAttribute("id") = "wdftime1" Then
elem.SetAttribute("value", Time1TXT.Text)
End If
If RadioButton2.Checked = True Then
elem.GetAttribute("id") = "wdftime2" Then
elem.SetAttribute("value", Time2TXT.Text) Then
elem.GetAttribute("id") = "wdftime1" Then
elem.SetAttribute("value", Time1TXT.Text)
End If
Next
End Sub
目前,我收到了此错误
表达式是一个值,因此不能作为赋值的目标
在elem.GetAttribute(" ")
行。除此之外,它还希望声明能够在Then
的某些内容上结束。我可以不在if语句中设置某些方法,以便它们包含某些文本框吗?我试图让RadioButtons
发送某些文本框取决于选择了哪个RadioButton
。
任何建议或资源都会有所帮助。
答案 0 :(得分:2)
你需要确保每个人都有一个相应的If,看起来你实际上需要使用AndAlso
和ElseIf
运算符来做你想要的事情。您获取“表达式是一个值,因此不能成为赋值的目标”错误的原因是因为您因为缺少If语句而尝试将值赋值给GetAttribute。
看看这对你有效。
Private Sub WebBrowser1_DocumentCompleted(sender As System.Object, e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Dim PageInput As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("input")
For Each elem As HtmlElement In PageInput
If elem.GetAttribute("name") = "wdf_origin" Then
elem.SetAttribute("value", FromTXT.Text)
End If
If elem.GetAttribute("name") = "wdf_destination" Then
elem.SetAttribute("value", ToTXT.Text)
End If
If RadioButton1.Checked then
If elem.GetAttribute("id") = "oneway" Then
elem.SetAttribute("checked", CStr(RadioButton1.Checked))
ElseIf elem.GetAttribute("id") = "wdfdate1" Then
elem.SetAttribute("value", DateTimePicker1.Text)
End If
End If
If RadioButton2.Checked then
If elem.GetAttribute("id") = "return" Then
elem.SetAttribute("checked", RadioButton2.Checked.ToString)
ElseIf elem.GetAttribute("id") = "wdfdate1" Then
elem.SetAttribute("value", DateTimePicker1.Text)
ElseIf elem.GetAttribute("id") = "wdfdate2" Then
elem.SetAttribute("value", DateTimePicker2.Text)
End If
End If
Next
Dim PageInput2 As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("select")
For Each elem As HtmlElement In PageInput2
If elem.GetAttribute("id") = "adults" Then
elem.SetAttribute("value", AdultsTXT.Text)
End If
If elem.GetAttribute("id") = "children" Then
elem.SetAttribute("value", ChildrenTXT.Text)
End If
If elem.GetAttribute("id") = "infants" Then
elem.SetAttribute("value", InfantsTXT.Text)
End If
If RadioButton1.Checked AndAlso elem.GetAttribute("id") = "wdftime1" Then
elem.SetAttribute("value", Time1TXT.Text)
End If
If RadioButton2.Checked Then
If elem.GetAttribute("id") = "wdftime2" Then
elem.SetAttribute("value", Time2TXT.Text)
ElseIf elem.GetAttribute("id") = "wdftime1" Then
elem.SetAttribute("value", Time1TXT.Text)
End If
End If
Next
End Sub
答案 1 :(得分:0)
存在一些语法错误。您应该在每If
之前有一个Then
,就像在第一个and
之前一样。我不确定您之后的逻辑是什么,但如果需要,您可以在表达式之间使用or
或If
,或者您可以嵌套End If
{{1}}阻挡另一个人。