首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从下拉列表中选择给定的值,然后单击添加按钮

从下拉列表中选择给定的值,然后单击添加按钮
EN

Stack Overflow用户
提问于 2019-04-03 11:36:03
回答 1查看 63关注 0票数 1

我可以登录到我的网站,然后导航到一个网页,我需要从下拉框中选择一个值,然后需要点击添加按钮。(使用vba)。从下拉列表中选择给定的值,然后单击添加按钮。

我做不到,我已经试过了,但做不到。

我的下拉列表html代码是:

代码语言:javascript
复制
<select id="input_ifxlist_opts"><option value="43.66.18.70>11">SAL-EC-S1&gt;sp_wan</option>

    <option value="43.72.38.250>11">SDT-EC-S1&gt;sp_wan</option>
    <option value="43.95.88.9>3">SISC-CE2&gt;Gi0/2</option>
    <option value="43.95.88.5>3">SISC-CE1&gt;Gi0/2</option>
    <option value="43.88.32.237>11">SID-EC-S1&gt;sp_wan</option>
    <option value="43.95.74.54>2">SOEM_PG-CE1V.virtela.net&gt;Gi0/0/1</option>
    <option value="43.95.66.1>2">SAL-CE1&gt;Gi0/1</option>
    <option value="43.76.42.10>2">SEK-CE1V&gt;Gi0/0</option>
    <option value="43.95.94.5>2">SEV-CE2&gt;Gi0/1</option>
    <option value="43.95.78.9>2">SI-CE2&gt;Gi0/1</option>
    <option value="43.95.88.13>3">SID-CE1&gt;Gi0/1</option>
    <option value="43.95.76.5>1">SOK-CE1&gt;Gi0/0</option>
    <option value="43.95.86.9>37">SOMEA-CE1&gt;Gi0/1.102</option>
    <option value="43.95.92.9>2">SPH-CE1&gt;Gi0/0/1</option>
    <option value="43.95.70.2>2">STWN-CE1V&gt;Gi0/1</option>
    <option value="43.95.74.2>3">SOEM_KL-CE3&gt;Gi0/1</option>
    <option value="43.95.74.62>2">SOEM_KL-CE1V.virtela.net&gt;Gi0/0/1</option>
    <option value="43.95.74.46>2">SOMAS-CE1V&gt;Gi0/0/1</option>
    <option value="43.95.72.33>2">SDT-CE1.virtela.net&gt;Gi0/0/1</option>
    <option value="43.95.72.45>2">SOTHAI-CE&gt;Gi0/0/1</option>
    <option value="43.95.72.41>2">STT-CE1V.virtela.net&gt;Gi0/0/1</option>
    <option value="43.95.72.37>2">STTB-CE1.virtela.net&gt;Gi0/0/1</option>
    <option value="43.74.61.6>11">SOEM-PG-EC-S1&gt;sp_wan</option>
    <option value="43.95.92.2>2">SPHWNS-CE&gt;Gi0/0/1</option>
    <option value="43.95.65.1>4">GDC-CE1&gt;Gi0/2</option>
    <option value="43.72.61.5>11">SOTHAI-EC-S1&gt;sp_wan</option>
    <option value="146.215.74.110>3">IBP-CE1&gt;Gi0/1</option>
    <option value="43.95.86.9>2">SOMEA-CE1&gt;Gi0/1</option>
    <option value="43.95.88.5>2">SISC-CE1&gt;Gi0/1</option>
    <option value="43.95.88.9>2">SISC-CE2&gt;Gi0/1</option>
</select>

我的add按钮html代码是:

代码语言:javascript
复制
<button type="button" onclick="addToList(document.forms['queryform'].input_ifxlist,document.getElementById('input_ifxlist_opts'))">Add</button>
代码语言:javascript
复制
Sub login_page()
    Dim ieApp As SHDocVw.InternetExplorer
    Dim iedoc As MSHTML.HTMLDocument
    'Dim ieApp As InternetExplorer
    'Dim ieDoc As Object
    'Dim ieTable As Object
    'Dim clip As DataObject

    Set ieApp = New SHDocVw.InternetExplorer

    ieApp.Visible = True

    ieApp.navigate "http:"
    Do While ieApp.Busy: DoEvents: Loop
    Do Until ieApp.readyState = READYSTATE_COMPLETE: DoEvents: Loop

    Set iedoc = ieApp.document

    'fill in the login form – View Source from your browser to get the control names
    With iedoc.forms(0)
    .user.Value = "id"
    .Password.Value = "Pass"
    .submit

    End With

    ieApp.navigate "http:"
    Do While ieApp.Busy: DoEvents: Loop 

    ieApp.navigate "http:"
    Do While ieApp.Busy: DoEvents: Loop  

    ieApp.navigate "http:"
    Do While ieApp.Busy: DoEvents: Loop


    ieApp.navigate "http:"
    Do While ieApp.Busy: DoEvents: Loop

    ieApp.navigate "http:"
    Do While ieApp.Busy: DoEvents: Loop 

    ieApp.navigate "http:"
    Do While ieApp.Busy: DoEvents: Loop

    ieApp.navigate "http:"
    Do While ieApp.Busy: DoEvents: Loop

    ieApp.navigate "http:"
    Do While ieApp.Busy: DoEvents: Loop
End Sub
EN

回答 1

Stack Overflow用户

发布于 2019-04-03 11:41:27

您可以使用属性=值选择器来选择特定的值。

代码语言:javascript
复制
ieApp.document.querySelector("[value='43.72.38.250>11']").Selected = True

还可以对select元素使用索引。

代码语言:javascript
复制
ieApp.document.querySelector("#input_ifxlist_opts").SelectedIndex = 2

可以使用以^运算符开头的属性=值选择器单击按钮

代码语言:javascript
复制
ieApp.document.querySelector("[onclick^=addToList]").click

对于适当的页面等待,您可以使用更紧凑的语法:

代码语言:javascript
复制
While ieApp.Busy Or ieApp.readyState < 4: DoEvents: Wend

你也可以尝试:

代码语言:javascript
复制
ieApp.document.parentWindow.ExecScript "document.forms ['queryform'].input_ifxlist.value='43.96.83.197>11'"
ieApp.document.querySelector("[onclick^=addToList]").click
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55494217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档