gpt4 book ai didi

java - 使用 VBA Web scrape 在下拉菜单中选择值

转载 作者:行者123 更新时间:2023-11-30 03:37:13 25 4
gpt4 key购买 nike

我在尝试从 JavaScript 网页上的下拉菜单中选择项目时遇到问题。我的最终目标是通过用户表单填写菜单值,但我没有成功创建 VB 来选择下拉列表。网页代码如下

<select name="dateSelector0" class="clsInputArea selectBox valid" style="display: none; "onchange="setDateRange(this, 'rtf[0].val1', 'rtf[0].val2')">
<option value="-1"></option>
<option value="1">Last Month</option>
<option value="2">Current Month</option>
<option value="3">Next Month</option>
<option value="4">Last Year</option>
<option value="5">Current Year</option>
<option value="6">Next Year</option>
<option value="7">First Quarter</option>
<option value="8">Second Quarter</option>
<option value="9">Third Quarter</option>
<option value="10">Fourth Quarter </option></select>

<a tabindex="NaN" title="" class="selectBox clsInputArea selectBox-dropdown" style="width: 147px; display: inline-block;" href="javascript:void(0);"><span class="selectBox-label" style="width: 127px;">&nbsp;</span><span class="selectBox-arrow"></span></a>

我尝试了各种 GetElementsBy,使用上面的名称,尝试使用下面的名称和 ID rtf[0].val1,但没有成功,示例如下。我相信使用 dateSelector0 名称是最好的,但我非常感谢你们中比我更擅长这方面的人提供的意见。

ie.Document.Body.GetElementsByname("dateSelector0").Value = "1"
ie.Document.Body.GetElementsByname("dateSelector0").Item(0).FireEvent ("onchange")

最佳答案

你几乎已经拥有它了。我刚刚尝试过:

Sub IE_Navigate()

'Declare
Dim IE As Object

'Use IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True

IE.navigate ("Website URL")

'Wait for Load to finish
While IE.readyState <> 4
DoEvents
Wend
Application.Wait (Now + TimeValue("0:00:01"))

这两种方法都对我有用。
按类名从下拉菜单中选择数据:

IE.document.getElementsByClassName("clsInputArea")(0).Value = 1

或者
按名称从下拉菜单中选择数据

IE.document.getElementsByName("dateSelector0")(0).Value = 1

返回下拉菜单中的第一项。

已编辑

关于java - 使用 VBA Web scrape 在下拉菜单中选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27554613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com