点击后如何等待页面加载

2024-06-26

下面是简单的 IE 自动化代码,只需输入订单号,例如1413105088和邮政编码始终是78759并单击“提交”按钮,然后从结果页面中获取跟踪号码,例如017136295201034并将它们放入 C 列。

它按预期工作,但由于 IE 不太可靠且缓慢,我想知道是否有更快的方法来完成此过程,如果没有,我可以使其至少可靠,以便单击提交按钮后不会失败,这意味着这

   Do While IE.Busy Or IE.ReadyState <> 4
        DoEvents
    Loop

after

        .document.getElementsByClassName("button_text")(3).Click

失败,因为它并没有真正检查 ie 页面是否已完成加载。

我问这个问题是因为我必须对数百个此类请求执行此操作。提前致谢。

完整代码:

Sub test()

Dim urL As String, orderNum As String
Dim trackingNum, prodDetail, cet
Dim i As Long, fI As Long
Dim IE

urL = "https://fisher-price.mattel.com/webapp/wcs/stores/servlet/OrderStatusGuestView?catalogId=10101&langId=-1&storeId=10151&krypto=prThs8zyeWG0bkF9ajSr%2FCnzmv1TKodtTEw0EdXtC7NjEmfD3cb6Z75umdkcXCiEPFxvkd0TfHkOswm3ZcMp8sbrU2doZFa6TxVbI%2BW1Lzk%3D"

fI = MAIN.Range("B" & Rows.Count).End(xlUp).Row

Set IE = CreateObject("InternetExplorer.Application")

With IE
    .Visible = True

For i = 2 To fI

    orderNum = Trim(MAIN.Range("B" & i).Value)        'Sample ordernum = 1413105088

    If orderNum <> "" Then
        .navigate urL

        Do While IE.Busy Or IE.ReadyState <> 4
            DoEvents
        Loop

        .document.getelementbyid("orderNumber").Value = orderNum
        .document.getelementbyid("postalCode").Value = 78759
        .document.getElementsByClassName("button_text")(3).Click

        Application.Wait Now + TimeValue("00:00:02")
        Do While IE.Busy Or IE.ReadyState <> 4
            DoEvents
        Loop

        prodDetail = .document.getElementsByClassName("productDetails")(0).innerText
        If InStr(prodDetail, "Tracking :") > 0 Then
            cet = Split(prodDetail, "Tracking :")
            trackingNum = Trim(cet(1))
            MAIN.Range("C" & i).Value = trackingNum
        Else
            MAIN.Range("C" & i).Value = "N/A"
        End If

    End If

Next i

End With

IE.Quit
Set IE = Nothing


End Sub

即使我也遇到了这个问题Do While... Loop没有正确加载,所以我使用了下面的代码

x = 0
Do until x = 1
  if IsObject(.document.getelementbyid("orderNumber")) Then
    .document.getelementbyid("orderNumber").Value = orderNum
    .document.getelementbyid("postalCode").Value = 78759
    .document.getElementsByClassName("button_text")(3).Click
    x = 1
  Else
    Application.Wait Now + TimeValue("00:00:02")
  End if
Loop

Working: Since x=0它将进入循环内部,因为IsObject(.document.getelementbyid("orderNumber"))未找到,因此它将等待两秒,循环将继续,直到找到订单号,否则它将将该值设为x=1并退出循环。

注意:如果您的代码不起作用,那么该代码将永远运行。您可以为此设置循环限制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

点击后如何等待页面加载 的相关文章

  • 如何检查单元格是否包含通配符星号 (*) 字符

    考虑以下两个公式 IF SEARCH A1 true false IF SEARCH CHAR 42 A1 true false 我正在用它来尝试检测单元格是否包含 字符 但这对所有单元格返回 true 我只能假设 Excel 看到 也许作
  • 如何使用 Office.js 获取单元格的格式

    我正在开发一个 Excel 加载项 它提取单元格 A1 的文本 包括其格式 并在其自己的区域中显示文本 所以添加包含这个 见下面的截图 显示格式化文本的区域 开始提取的按钮请点击查看图片 https i stack imgur com oy
  • IE8/9 - CSS 文件的最大字节数

    我目前正在开发的应用程序有过多的 CSS 样式 我们似乎已经达到了 IE8 9 以及它可以加载的 CSS 数量的某种限制 在某些时候 它会停止解释 CSS 从而破坏某些页面上的样式 我们正在使用 Combres 来压缩 缩小导致 CSS 文
  • 条件格式化VBA多个条件

    我对 VBA 世界非常陌生 需要一些关于条件格式的 VBA 方面的帮助 1 我需要将条件格式应用于列 M 7岁以下绿色 黄色从7 20 红色大于20 最重要的条件是 如果列 N 声明 NOPO 则我不希望应用条件格式 我已经制定了一个公式来
  • VBA:如何从 MS Access 运行另一个应用程序

    我一直在试图解决这个问题 但似乎我在任何地方都找不到解决该问题的方法 这是第一部分 VBA Shell 命令始终返回 找不到文件 https stackoverflow com questions 10439024 vba shell co
  • VBA半正矢公式

    我正在尝试将半正矢公式应用到Excel函数中 它看起来像这样 Public Function Haversine Lat1 As Variant Lon1 As Variant Lat2 As Variant Lon2 As Variant
  • 使用 python 只读取 Excel 中的可见行

    我想只读取 python 中 Excel 工作表中的可见行 输入 Excel表 所以当我过滤时 作为 python 中的输出 在本例中我将仅获得可见数据 1 行 这是我的代码 from openpyxl import load workbo
  • 修剪工作簿中的所有单元格(VBA)

    我尝试向一直在开发的 Excel 加载项添加功能 该功能会修剪已用单元格末尾的前导空格 甚至可能解析文本 我需要这样做的原因只是为了将其变成超链接我已经在工作了 但是那部分很好 这是我到目前为止所尝试的 我已经修剪了active works
  • 数据透视表、页面过滤器 - 使用日期过滤

    我正在尝试过滤具有日期值的页面过滤器 但我在使用时不断出现错误 PivotFilters Add type xlBefore value 5 1 2015 我还尝试了下面的代码 Dim nd As Long nd CLng Date 90
  • 如何使用java从Excel工作表中获取特定列名(作为参数传递)的最后一个非空单元格的行索引?

    模块的摘要 获取书籍名称 工作表名称和列名称作为参数 并期望模块返回所需的行索引 public int getExcelData String WBookName String sheetName String columnName int
  • 按数字键对字典排序

    我有一个带有整数键和整数项的字典 只需要根据键对字典进行排序 但我发现的所有示例仅适用于字符串键 将键作为数组获取 对该数组进行排序 然后使用排序后的数组从字典中提取值 Sub Tester Dim d As Object Dim i As
  • 在 Excel VBA 中,如何保存/恢复用户定义的过滤器?

    如何使用 VBA 保存并重新应用当前过滤器 在 Excel 2007 VBA 中 我试图 保存用户在当前工作表上拥有的任何过滤器 清除过滤器 做东西 重新应用保存的过滤器 看一下捕获自动筛选状态 http www mrexcel com f
  • 在 IE8 中无法正确从 JSONP 文件读取特殊字符

    同样的问题上一个问题 https stackoverflow com questions 4742771 special characters are not being read from a jsonp file correctly我专
  • 在每个浏览器中分配 __proto__ 的具体影响是什么?

    这是针对一个非常具体的用例 这一切都在打字稿中 对于这个用例 我认为它没有影响 但我会提到它以防万一 我们有主代码和一个用于后台处理的 Web Worker 我们使用 Worker postMessage 来回发布消息 我们总是调用 pos
  • 使用 VB6 检测 Internet Explorer 版本

    我正在更新旧版应用程序 它具有一些功能可以检测已安装的 Internet Explorer 版本 仅用于显示和错误报告 而不是因为需要任何组件 用于IE版本检测的代码基本上是来自的代码VB net Dll 获取版本 详细的 Internet
  • 将文件创建日期添加到列表中

    我一直在尝试编辑一些代码 该代码提供所有子文件夹中所有文件的列表 同时还为我提供在下一列中创建的日期 但我不确定如何进行 这是我正在使用的代码 它可以很好地获取文件路径 但不能获取文件 DateCreateds Sub startIt Di
  • Office Excel 2007 VBA 版本 7 的免费教程网站 [已关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 什么是FREEOffice 2007 VBA 版本 7 的网站 谷歌通过大量付费垃圾邮件让我们失望 其中有 最好的最好的 教程 我有 C NET Ob
  • 使用 IE 11 和 AngularJS 的 2 路数据绑定问题

    我最近在使用 AngularJS 的 Web 应用程序上构建了一个功能 但在 IE 11 上遇到了一些问题 apply 将数据更改写入 DOM 由于某种原因 这种情况仅有时发生 而当我尝试调试问题时却从未发生 这使得它看起来像是一个计时问题
  • Excel幂查询——聚合连续“传递”重叠时间间隔

    我正在尝试使用 Excel 强力查询将下面给出的表 1 聚合到表 2 目标是将同一组的连续时间间隔合并到一行中 对于像事件 5 和事件 6 这样的直接重叠 这非常容易 但这种方法仅合并事件 1 和 2 以及 2 和 3 从而产生两个条目 参
  • 为什么即使代码运行良好,VBA 也会显示“(未响应)”?

    我在许多不同的 VBA 程序中都遇到过这个问题 所以我想我可能在 Excel 或 VBA 编辑器中设置了一些不正确的设置 老实说 在网上搜索了很多之后我还是一无所知 基本上 我将运行一段正常的代码 并且应用程序 Excel 和 VBA 编辑

随机推荐

  • Blazor 中是否有相当于 Html.Raw 的东西?

    我有一些存储在字符串中的 HTML 如何在 Blazor Razor 视图中渲染它而不需要自动 HTML 编码 添加了渲染原始 HTML 的功能Blazor0 5 0版本 这是如何呈现原始 HTML 的示例string包含 HTML 内容
  • Angular2 迭代对象数组

    我有一个如下所示的数组 causes any Specification Missing false Unclear false Wrong false Changed false Better Way false Design Missi
  • 如何克隆列表以使其在分配后不会意外更改?

    使用时new list my list 任何修改new list变化my list每次 这是为什么 如何克隆或复制列表来防止这种情况发生 new list my list实际上并没有创建第二个列表 分配只是复制对列表的引用 而不是实际的列表
  • github 网络图查看器的替代品? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我单击 github 上的 forks 按钮时 我想获得一个摘要 这就是我使用网络图查看器获得的结果 但它并不完全理想 我会做什么ide
  • Android 中的“ffmpeg 有文本重定位”错误

    我正在构建一个 Android 视频发送应用程序 我需要在上传之前对视频进行压缩 在本例中 我选择使用 FFmpeg 的 Android 包装器 https github com hiteshsondhi88 ffmpeg android
  • JQuery .on("click") 在触摸设备上触发“mouseover”

    我在使用 JQuery 时遇到了不需要的行为 on click function 在触摸设备上 这是我的代码如下 Code team on mouseover teamMouseOver team on mouseout teamMouse
  • 如何使用 Google Drive SDK 访问“与我共享”根列表?

    在Google Drive SDK文档中 我不知道如何访问root其他人与我共享的文件 文件夹列表 知道吗 我尝试搜索不属于我的文件 这意味着使用以下参数查询文件 列表 q not me in owners 但这会返回其他人拥有的所有文件
  • 使用 XAMPP 在 Windows 10 中安装 go-pear.phar 时出错

    我在尝试安装时总是遇到错误go pear phar 这是点击后的错误Enter对这个问题1 13 all or Enter to continue 1 13 all or Enter to continue ERROR Please ent
  • lme4:如何指定 2 个与随机截距的相关性,而不添加随机斜率之间的相关性

    重新发布自stats stackexchange com https stats stackexchange com q 195385 33560 我试图在 R 的 lme4 包中指定一个模型 其中随机截距和随机斜率之间有 2 个相关性 但
  • 视图水平和垂直不明确且布局复杂

    我有一个UIViewController在我的故事板上有 2 个水平并排的子视图 我添加了约束来将前缘和后缘固定为常数 20 点 并添加了另一个约束来保持宽度相等 如果我假设以下内容 应该可以计算每个子视图需要的宽度 子视图不重叠 不存在其
  • 每 2 行交替添加一个 CSS 类

    我有一个像这样的表 table tr td Test td tr tr td Test td tr tr td Test td tr tr td Test td tr tr td Test td tr tr td Test td tr tr
  • 带有转义字符的 JavaCC 引用

    标记可以包含转义字符的带引号的字符串的常用方法是什么 这里有些例子 1 this is good 2 this is good 3 this is good 4 this is bad 5 this is bad 6 this is bad
  • 超时对“Future”进行排序

    我利用了TimeoutScheduler介绍于Scala Futures 内置超时 https stackoverflow com questions 16304471 scala futures built in timeout 但是 现
  • JavaScript 和 jQuery 以及句点的使用

    我很困惑在引用类名时何时使用类名之前的句点 在此示例中 为什么 active slide 类的第一次使用事先使用了句点 而其他两个则没有 var main function dropdown toggle click function dr
  • 如何使用 7zip powershell 包含文件和文件夹

    我试图让我的 powershell 脚本压缩一些文件和文件夹 目前 我可以使我的脚本要么压缩所有文件 不包含文件夹 要么压缩包含文件夹但到错误路径的所有文件 一个例子是 如果我有一个名为 wordpress 的文件夹 其中包含文件和一些子文
  • jQuery.remove(),分离 DOM 元素,但我仍然可以从代码中访问这些元素。如何避免泄漏?

    我知道 在具有大量 UI 元素且完全基于 Ajax 的应用程序中正确管理内存并不容易 在我的应用程序中 页面永远不会重新加载 但我想了解以下行为 我有一个根元素 一次必须附加一个子元素 将其视为根元素是应用程序容器 子元素是单个页面 每当我
  • 如何使用 Windows API 检索 HD 供应商/序列号

    我说的是physical磁盘驱动器 而不是卷 分区 逻辑驱动器 所以通常建议GetVolumeInformation函数不适用于我的情况 确切地说 我直接使用尚未分区的磁盘 我通过打开它的句柄CreateFile功能 hDisk Creat
  • 更改 SQL Server 中所有表的所有列的排序规则

    我导入了一个包含一些数据的数据库 以便与另一个数据库进行比较 目标数据库有排序规则Latin1 General CI AS并且源数据库有SQL Latin1 General CP1 CI AS 我确实将源数据库的排序规则更改为Latin1
  • 当内容悬停时变为粗体时防止表格扩展

    我正在处理一张表格 其中一个要求是每一行在悬停时变为粗体 我可以正常工作 但是当发生这种情况时 列的宽度会发生变化 有什么办法可以防止这种情况发生吗 table width 100 border 1px solid ccc margin t
  • 点击后如何等待页面加载

    下面是简单的 IE 自动化代码 只需输入订单号 例如1413105088和邮政编码始终是78759并单击 提交 按钮 然后从结果页面中获取跟踪号码 例如017136295201034并将它们放入 C 列 它按预期工作 但由于 IE 不太可靠