Delphi - 如何将 twebbrowser 中的选择放入数组中?

2023-12-01

我在我的 twebbrowser 中有以下选择

<Select name="ship_to_method">
<option value="1941">Royal Mail Standard Delivery at £1.45 </option>
<option value="1942">Courier Standard Delivery  at £4.64 </option>
<option value="1943">Royal Mail Priority Delivery at £1.66 </option>
<option value="1944">Courier Priority Delivery at £5.15 </option>
</select>

选项的数量和值动态变化,

我怎样才能将选项放入数组中,这样我就有了..

option_ids=(1941,1942,1943,1944);

option_texts=("Royal Mail Standard Delivery at £1.45","Courier Standard Delivery  at £4.64","Royal Mail Priority Delivery at £1.66","Courier Priority Delivery at £5.15");

如果有人有任何代码可以分享那就太好了!

非常感谢

Stu


Using a TWebBrowser named Wb您可以通过以下方式获取您的 ID 和短信:

uses MSHTML;

var
  Disp: IDispatch;
  SelEl: IHTMLSelectElement;
  i: Integer;
  OptionEl: IHTMLOptionElement;
  option_ids: array of WideString;
  option_texts: array of WideString;
begin
  // load test web page containing your SELECT
  Wb.Navigate('c:\temp\select.htm');
  // wait for browser to finish loading
  while Wb.ReadyState <> READYSTATE_COMPLETE do
    Application.ProcessMessages;
  // search the document for the SELECT element with the given name
  Disp:=(Wb.ControlInterface.Document as IHTMLDocument2).all.item('ship_to_method', EmptyParam);

  // EDIT: the following two lines are demonstrating how to get the element with focus 
  // simulate user selection by setting focus to SELECT element 
  (Disp as IHTMLElement2).focus;
  // now ask document for active element which should be the SELECT element
  Disp:=(Wb.ControlInterface.Document as IHTMLDocument2).activeElement;

  // basic error checking and acquiring of IHTMLSelectElement interface which is needed to access single OPTIONs within the SELECT
  if Assigned(Disp) and Supports(Disp, IHTMLSelectElement, SelEl) then
  begin
    // prepare array
    SetLength(option_ids, SelEl.length);
    SetLength(option_texts, SelEl.length);
    // get OPTIONs from SELECT
    for i:=0 to SelEl.length-1 do
    begin
      OptionEl := SelEl.Item(i,EmptyParam) as IHTMLOptionElement;
      // voila - read value and text of option element, store in arrays
      option_ids[i] := OptionEl.Value;
      option_texts[i] := OptionEl.Text;
    end;
  end;
  // option_ids now contains your IDs
  // option_texts now contains your texts
end;

编辑:添加option_texts以及。

Edit2:这是网页“select.htm”:

<html>
<head>
</head>
<body>
<Select name="ship_to_method">
    <option value="1941">Royal Mail Standard Delivery at £1.45 </option>
    <option value="1942">Courier Standard Delivery  at £4.64 </option>
    <option value="1943">Royal Mail Priority Delivery at £1.66 </option>
    <option value="1944">Courier Priority Delivery at £5.15 </option>
</select>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Delphi - 如何将 twebbrowser 中的选择放入数组中? 的相关文章

  • 展平可能包含数组的对象数组

    我有一个IEnumerable其中可能包含也可能不包含一些嵌套集合 例如 我的出发点可能是这样的 foo 2 1 2 3 4 bar 我想将其压平为 foo 2 1 2 3 4 bar 我在想一个SelectMany应该在这里工作 但无法找
  • 按共同日期对数组数据进行排序

    我有一个包含许多行和 3 列的 csv 文件 日期 代表和销售额 我想使用 Python 生成一个新数组 该数组按日期对数据进行分组 并且对于给定日期 按销售额对代表进行排序 例如 我的输入数据如下所示 salesData 201703 B
  • 从数据库结果生成多维数组的递归函数

    我正在编写一个函数 它接受页面 类别数组 来自平面数据库结果 并根据父 ID 生成嵌套页面 类别项目数组 我想递归地执行此操作 以便可以完成任何级别的嵌套 例如 我在一个查询中获取所有页面 这就是数据库表的样子 id parent id t
  • 如何找到数组中存在的项目的长度/数量? [复制]

    这个问题在这里已经有答案了 可能的重复 函数参数中数组的长度 https stackoverflow com questions 8269048 length of array in function argument 我的数组大小是 5
  • 如何获取C++动态数组的大小

    我正在学习 C 我需要创建结构Airplane并与之合作 我的结构飞机 h include stdafx h using namespace std struct Airplane string destination int number
  • 查找数组中的重叠数据

    我们正在编写一个 C 应用程序 它将有助于删除不必要的数据重复器 只有在以下情况下才可以移除中继器 all它接收到的数据被其他中继器接收 我们第一步需要做的事情解释如下 例如 我有 int 数组的集合 A 1 2 3 4 5 b 2 4 6
  • 如何检查文件是否有备用数据流?

    Delphi 有没有办法检查文件是否有任何备用数据流 看一下 Win32 APIFindFirstStreamW https msdn microsoft com en us library windows desktop aa364424
  • 如何为 pg_trgm `'term' % ANY (array_column)` 查询索引字符串数组列?

    我尝试过普通的Postgresgin索引以及 pg trgmgin trgm ops and gist trgm ops索引 使用此解决方法 https stackoverflow com a 33016333 283398 https s
  • using 可用于为数组键入别名吗?

    我不确定我的措辞是否正确 因为这有点奇怪 基本上我发现了一些这样的代码 template
  • Python 中 a -= b 和 a = a - b 之间的区别

    我最近申请了this https stackoverflow com questions 30379311 fast way to take average of every n rows in a npy array对矩阵的每 N 行进行
  • 如何通过在切片上查找来从切片复制到数组

    我正在编写一个库来处理二进制格式 我有一个带有数组变量的结构 我想保留它以用于文档目的 我还需要从输入字节片中查找和判断 一些伪代码 type foo struct boo 5 byte coo 3 byte func main input
  • Delphi XE5 FireDAC 错误:无法加载供应商库 [libmysql.dll 或 libmysqld.dll]

    我在 Windows 7 64 位上使用 Delphi XE5 只是尝试 FireDAC 组件 我正在使用一个 TFDConnection 组件连接到本地 MySQL 数据库 v5 6 15 我已经将 libmysql dll 32位 v5
  • DBX 错误:驱动程序无法正确初始化

    我在跑步德尔福XE3 终极版 MySQL 数据库 这是我点击时收到的错误Test Connection 作为回应 我在 xampp 目录中找到了 libmysql 库 并将其复制到我的 System32 目录中 但这是行不通的 此消息指的是
  • 验证项目是否在开始日期和结束日期内

    我有一个java程序 它将检查每个项目的开始日期和结束日期 每个项目必须有自己特定的开始日期和结束日期范围 如果新的开始日期和结束日期的范围落在旧的开始日期和结束日期内 系统将提示错误消息 例如 Company ABC Item Numbe
  • 如何使用CSS缩进多级select optgroup?

    只是试图通过嵌套深度缩进 optgroup 块 我尝试了一般margin left规则 嵌套元素然后尝试应用相同的规则 尝试过padding left 这样的缩进可能吗 看起来很简单 P 在下面的示例中 标记为 client2 a 的 op
  • 为什么零长度 VLA 是 UB?

    2011年标准明确规定 6 7 6 2 数组声明符 如果大小是一个不是整数常量表达式的表达式 如果它出现在 在函数原型范围内声明 它被视为被替换为 否则 每次评估时 其值都应大于零 每个实例的大小 变长数组类型的值在其生命周期内不会改变 其
  • Delphi:如何计算大文件的 SHA 哈希值

    您好 我需要生成 5 Gig 文件的 SHA 您知道有一个非基于字符串的 Delphi 库可以做到这一点吗 你应该使用DCPcrypt v2 http www cityinthesky co uk cryptography html读取缓冲
  • 不区分大小写的 array_unique

    我正在尝试编写几行代码来创建一个不区分大小写的数组唯一类型函数 这是我到目前为止所拥有的 foreach topics as value lvalue strtolower value uvalue strtolower value if
  • 在 tlistbox 中绘制缩略图

    在 DelphiXE 中 我使用 tFileOpenDialog 选择一个文件夹 然后在 tListBox 中列出该文件夹中的所有 jpg 文件 我允许将列表项拖放到列表中进行自定义排序 以便稍后按顺序显示它们 我希望能够在文件名旁边绘制图
  • 如果数组包含一个或多个相同值,则合并数组

    我有一个数组数组 a 1 2 3 3 4 5 6 7 8 8 9 9 10 我想合并包含一个或多个相同值的所有数组 所以 a 1 2 3 4 5 6 7 8 9 10 我正在努力寻找一种简洁的方法来解决这个问题 有任何想法吗 我相信这是正确

随机推荐

  • 在图片框中绘制颜色?

    在 C 中 我有一个图片框 我想画4种颜色 默认值为白色 红色 绿色 蓝色 我如何在这个picbox中绘制这4种颜色 或者我应该有4个picbox 那么我该如何设置rgb颜色呢 您需要指定您特别想画什么 你不能画红色 这没有意义 但是 您可
  • 尝试检测浏览器关闭事件

    我尝试了很多方法来通过 jQuery 或 JavaScript 检测浏览器关闭事件 但不幸的是 我无法检测到关闭 这onbeforeunload and onunload方法也不起作用 如何检测窗口close unload or befor
  • PHP - 查找两段文本之间匹配单词的数量?

    我想找到两个文本之间相似单词的数量 Example str1 the cat is on the roof str2 the mouse is on the roof 屋顶上 str1 和 str2 中的单词相似 所以输出将是5号 OR 百
  • 选择图像并将大小调整为 72x72

    我从图库中选择了一张图像并对其进行了解码 现在我只想将该位图调整为标准 72x72 大小 以便用作个人资料照片 我搜索了很多 但没有任何效果 其中一些无缘无故地旋转了我的图像 其中一些使图像质量非常低 有那么难吗 EDIT Code Ove
  • 在 API 21 中以编程方式从 DatePicker 隐藏 Calendarview

    我遇到了与此线程相同的问题 Android Material Design 内联日期选择器问题 但我没有使用 XML 布局 而是以编程方式构建 DatePicker 这是我正在使用但不起作用的代码 DatePicker dpView new
  • 了解 getIntExtra() 参数

    Override protected void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R layout act
  • 保存保存为 csv 的 pandas 数据框的数据类型

    我希望能够为我的 df 保存 dtypes 当我下次读取 csv 时 我想证明一个 dtypes 数组 我尝试了以下方法 types dic df dtypes to dict np save dtypes npy types dic al
  • Laravel Slack 按需通知;在哪里设置 webhook?

    根据 Laravel 文档 我可以在控制器中执行按需通知 如下所示 use Notification use App Notifications TradeSuccessful trada data array title gt test
  • 所有操作后画布渲染一次

    一瞬间有点困惑 感谢任何帮助 我正在制作一个应用程序 它使用画布来渲染游戏板 我遇到了一个问题 即它不是最佳的 为每个小变化渲染画布 目前的结构如下 function renderCanvas calling for each row fu
  • AngularJS 指令:“templateUrl”不起作用,而“template”起作用

    我有一个名为的 AngularJS 指令 areaOne 当我使用template显示了模板 但是当我使用时templateUrl in area1 js 模板 HTML 不会呈现 我在这里缺少什么 服务器端 ASP NET MVC 5 客
  • 成员变量的结构化绑定

    在Visual Studio 2017中 打开后 std c 17 我可以 auto d1 d2 func return tuple where func return tuple 返回两个双精度值的元组 但是 如果A类有两个成员变量d1
  • 注释在 proguard 中无效

    我很难让混淆器根据注释来保存内容 在 Android 下 我有一个注释 com example Keep Target ElementType TYPE ElementType FIELD ElementType METHOD Elemen
  • 尝试通过安全透明方法“WebMatrix.WebData.PreApplicationStartCode.Start()”

    更新 mvc 4 到 mvc 5 相同 我启动了一个新的 mvc 4 项目 并在其中迁移了一个 mvc 3 项目 控制器 模型 脚本等 虽然现在一切都已编译 但我收到以下错误 尝试通过安全透明方法 WebMatrix WebData Pre
  • 按引用传递与按值传递

    所以我有这个代码 问题是 它输出什么 答案 5 如何使其输出10 答案 sum x 问题是我不明白为什么第一个问题的答案是5 当你制作sum x 时 它不应该用 x替换函数 所以 x 5 5 10吗 为什么答案是5 我真的不明白 有人向我解
  • pandas DF 中的分组连通图

    我有一个 pandas DF 其中每列代表一个节点 两列代表一条边 如下所示 import pandas as pd df pd DataFrame node1 2 4 17 17 205 208 node2 4 13 25 38 208
  • 在 RMarkdown 的 PDF 输出中旋转一页以上的表格

    我想在 PDF 输出中旋转一个宽表格 我碰到这个奇妙的问题 但我的桌子更长 当我复制 粘贴该问题中显示的示例之一时 使用 RMarkdown 效果很好 library kableExtra kable iris 1 5 format lat
  • Python3 有条件装饰?

    是否可以根据条件装饰函数 a la if she weight duck weight burn def witch pass 我只是想知道是否可以使用逻辑 当witch被调用 来判断是否要装饰witch with burn 如果没有 是否
  • 检测字符是否是字母

    给定一组单词 我需要将它们放入以单词的第一个字母为键的哈希中 我有words 其中键A Z和0代表数字和符号 我正在做类似的事情 var firstLetter name charAt 0 firstLetter firstLetter t
  • 直接传递获取属性名称和类型

    我问过类似的问题here And here 这是一个示例类型 public class Product public string Name get set public string Title get set public string
  • Delphi - 如何将 twebbrowser 中的选择放入数组中?

    我在我的 twebbrowser 中有以下选择