200分紧急求助:修改(填充)网页的内容(属性)
1、网页中有textarea,想要修改其中的内容(html格式)。找到该元素后用 details.setAttribute('value',sHtml,0);
但是网页中的textarea值并未发生任何改变。因为它是一个网页编辑器,而不是纯粹的textarea。这时候要如何才能知道 这个网页编辑器是什么,比如说是ckeditor,还是其他的?知道后又如何用代码填充编辑器的内容呢?(是html格式)
2、网页中有大量诸如<div class="info-title fd-clr mod mod-offer-post-title" data-mod-config='{"formGroup":"title","validateDanger":"http://sss.com/offer/post/json/validate_result.htm"}'>之类的代码,如何控制data-mod-config中的属性呢?网页中有些div中有许多表单元素,但在网页中根本无法遍历,因为它是由data-mod-config控制的。所以请高人指点,如何处理这种情况,以便能自由填充表单元素?
3、如何控制网页中的json数据?
4、<div class="img-cont third"><img class="cont-img" /></div> 这时img的图片为空,如何使这个img能够显示指定的图像?
以上4个问题请用delphi代码解答,只要你能正确解答,你要多少分数我都会给你!!!
真诚希望高手友情支援,预备2000分奉送!!!
[解决办法]
- Delphi(Pascal) code
//uses MSHTML, SHDocVw, ActiveXdoWithHtmlElement(aElementCollection:IHTMLElementCollection);var k:integer; vk:oleVariant; Dispatch: IDispatch; HTMLInputElement:IHTMLInputElement; HTMLSelectElement:IHTMLSelectElement; HTMLOptionElement: IHTMLOptionElement; HTMLTextAreaElement: IHTMLTextAreaElement; HTMLFormElement:IHTMLFormElement; HTMLOptionButtonElement:IHTMLOptionButtonElement;begin for k:=0 to aElementCollection.length -1 do begin Vk:=k; Dispatch:=aElementCollection.item(Vk,0); if Succeeded(Dispatch.QueryInterface(IHTMLInputElement,HTMLInputElement)) then begin With HTMLInputElement do begin if (UpperCase(Type_)='TEXT') or (UpperCase(Type_)='PASSWORD') then begin value:='text'; end else if (UpperCase(Type_)='CHECKBOX') then begin checked:=true; end else if (UpperCase(Type_)='RADIO') then begin checked :=true; end; end; end else if Succeeded(Dispatch.QueryInterface(IHTMLSelectElement,HTMLSelectElement)) then begin With HTMLSelectElement do begin selectedIndex :=1; end; end else if Succeeded(Dispatch.QueryInterface(IHTMLTEXTAreaElement,HTMLTextAreaElement)) then begin with HTMLTextAreaElement do begin value :='textarea'; end; end else if Succeeded(Dispatch.QueryInterface(IHTMLOptionElement,HTMLOptionElement)) then begin with HTMLOptionElement do begin end; end else if SUCCEEDED(Dispatch.QueryInterface(IHTMLFormElement,HTMLFormElement))then begin with HTMLFormElement do begin end; end else if SUCCEEDED(Dispatch.QueryInterface(IHTMLOptionButtonElement,HTMLOptionButtonElement))then begin end else ; end;end;
[解决办法]
- Delphi(Pascal) code
{实在是不懂, 只能帮顶了}{弱弱问一句, 用 JS脚本可以不?}
[解决办法]
erhan完全是冲着分来的啊。。。。。
我还是喜欢楼主说的“学术研究”。O(∩_∩)O哈哈~
边顶边研究啊
[解决办法]
只提一个思路:使用消息发送按键来填。。。。。。。。。
[解决办法]
非要搞这么复杂么?
delphi执行js函数不就好了
EmbeddedWB1.OleObject.document.parentWindow.your_js_function();
[解决办法]
顶顶帖子
先