Delphi Twebbrowser更改文本框的值.

Delphi Twebbrowser更改文本框的值.,第1张

概述我在twebbrowser中更改文本框的值有些困难.我试过WebBrowser1.OleObject.Document.getElementById(‘verification_control_0′).value:=’mytext’;和其他一些方法,但它似乎不起作用. 网站代码: <div id="verification_control_0" class="verification_contro 我在twebbrowser中更改文本框的值有些困难.我试过Webbrowser1.oleObject.document.getElementByID(‘verification_control_0′).value:=’mytext’;和其他一些方法,但它似乎不起作用.

网站代码:

<div ID="verification_control_0" > <div > What are the first 3 letters of our website's name?:<br /> <input type="text" name="register_vv[q][71]" size="30" value=""  tabindex="6"     />  </div> </div>

如果你能告诉我如何更改< input type =“text”中的值name =“register_vv [q] [71]”size =“30”value =“”tabindex =“6”class =“input_text” />我非常感激.
感谢阅读和所有回复.

解决方法 试试这个:

procedure TForm1.button1Click(Sender: TObject);var  col: IHTMLElementCollection;  el: IHTMLinputElement;begin  col := (Webbrowser1.document as IHTMLdocument3).getElementsByname('register_vv[q][71]');  if col.length <> 0 then  begin    el := col.item(0,0) as IHTMLinputElement;    el.value := 'mytext';  end;end;

在ie8标准模式下,getElementById仅对ID属性执行区分大小写的匹配.
在ie7标准模式和以前的模式中,此方法对ID和name属性执行不区分大小写的匹配,这可能会产生unexpected results.

因此,如果您的TWebbrowser使用ie7标准模式和以前的模式getElementByID也应该工作:

procedure TForm1.button2Click(Sender: TObject);var  el: IHTMLElement;  inputElement: IHTMLinputElement;begin  el := (Webbrowser1.document as IHTMLdocument3).getElementByID('register_vv[q][71]');  if Assigned(el) then    if Supports(el,IID_IHTMLinputElement,inputElement) then      inputElement.value := 'mytext';end;

使用getElementsByname集合按name定位元素应该是首选解决方案.

编辑:
@SertacAkyuz第一条评论:

Webbrowser1.oleObject.document.getElementByID('register_vv[q][71]').Value:='tes‌​t';

我非常确定OP没有测试你的代码(默认情况下应该可以工作,除非OP明确改变IE浏览模式),而是使用了getElementByID(‘verification_control_0’) – 这是一个div元素,并且没有支持方法值. (因此自动化对象不支持错误消息“方法’值”).

总结

以上是内存溢出为你收集整理的Delphi Twebbrowser更改文本框的值.全部内容,希望文章能够帮你解决Delphi Twebbrowser更改文本框的值.所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存