</tr>
<tr>
<td width="35%" align="right"><li>帐 号:</li></td>
<td align="left"><input type="text" name="username" size="15" class="za_text"></td>
</tr>
<tr>
<td align="right"><li>密 码:</li></td>
<td align="left"><input type="password" name="passwd" size="15" class="za_text"> </td>
</tr>
<tr>
<td height="27" align="right"> </td>
<td align="left"><input type="submit" value="确定" class="za_text" ></td>
</tr>
</form>
</table>
问如何获取 帐号、密码及提交 按钮的名称及坐标
16 个解决方案
#1
up
#2
我也想知道,
帮顶
帮顶
#3
不知道你要這個坐標有什麼用!
如果想自動填表之類根本用不著去理會它的坐標啊。
如果想自動填表之類根本用不著去理會它的坐標啊。
#4
网页的源码不能读取,可能由于不能读源码,所以也不能用IHTMLDocument2及IHTMLElementCollection;
WebBrowse.Document.All.Item('控件ID',0).Value := 'AAa';
之类的来提交表单。我在网上查了很多资料,也不能用。类似以下的:
var
doc : IHTMLDocument2;
all : IHTMLElementCollection;
len,i : integer;
item : OleVariant;
HtmlInputEle : IHTMLInputElement;
SubmitBtn : IHTMLButtonElement;
spDisp : IDispatch;
begin
if WebBrowser1.Document <> nil then
begin
doc:=WebBrowser1.Document as IHTMLDocument2;
all:=doc.all;
len:=all.Length;
for i:=0 to len-1 do
begin
spDisp:=all.item(i,varEmpty);
if SUCCEEDED(spDisp.QueryInterface(IHTMLInputElement ,HtmlInputEle)) then
begin
if HTMlInputEle.name = 'UserID' then
HtmlInputEle.value := 'test';
if HTMlInputEle.name = 'Passwd' then
HtmlInputEle.value := 'test';
end;
if SUCCEEDED(spDisp.QueryInterface(IHTMLButtonElement ,SubmitBtn)) then
if SubmitBtn.name = 'submitButtonName' then
SubmitBtn.click();
end;
end;
end;
WebBrowse.Document.All.Item('控件ID',0).Value := 'AAa';
之类的来提交表单。我在网上查了很多资料,也不能用。类似以下的:
var
doc : IHTMLDocument2;
all : IHTMLElementCollection;
len,i : integer;
item : OleVariant;
HtmlInputEle : IHTMLInputElement;
SubmitBtn : IHTMLButtonElement;
spDisp : IDispatch;
begin
if WebBrowser1.Document <> nil then
begin
doc:=WebBrowser1.Document as IHTMLDocument2;
all:=doc.all;
len:=all.Length;
for i:=0 to len-1 do
begin
spDisp:=all.item(i,varEmpty);
if SUCCEEDED(spDisp.QueryInterface(IHTMLInputElement ,HtmlInputEle)) then
begin
if HTMlInputEle.name = 'UserID' then
HtmlInputEle.value := 'test';
if HTMlInputEle.name = 'Passwd' then
HtmlInputEle.value := 'test';
end;
if SUCCEEDED(spDisp.QueryInterface(IHTMLButtonElement ,SubmitBtn)) then
if SubmitBtn.name = 'submitButtonName' then
SubmitBtn.click();
end;
end;
end;
#5
以上的网页代码我是用Sniffer截包软件截到的。
#6
可能是那个表单在一个frame中,所以你没法直接读取网页源码进而对表单进行操作.
如果是这样,建议你直接用WebBrowser打开那个frame所指向的网页.
如果是这样,建议你直接用WebBrowser打开那个frame所指向的网页.
#7
學習並關注
#8
你要找的那个网页应该会是这样<iframe id="frameAAAA" src="src.html">somehtml</iframe>
你截取到得应该是src.html中的内容,你可以用控制iframe内的元素来控制src.html中的内容,如果还能解决可以联系我QQ:594529009
你截取到得应该是src.html中的内容,你可以用控制iframe内的元素来控制src.html中的内容,如果还能解决可以联系我QQ:594529009
#9
正如六樓說的大概你所要操作的表格是在框架頁中
直接操作框架頁內容用它嘗試
wb1.OleObject.document.documentelement.document.frames.item(0).document.getElementsByTagName('input').item(0).value :='你的內容';
注:
其中frames.item(0)中的零就表示你在網頁源代碼中看到的第一個frame,
後面的類推,getElementsByTagName('input').item(0).value 這個內容也有多種寫法,可以查考下面的鏈接
關於自動填表及提交表單可以查考下面內容
http://hi.baidu.com/szba/blog/item/9a0e5c1eed0431fc1bd57697.html
直接操作框架頁內容用它嘗試
wb1.OleObject.document.documentelement.document.frames.item(0).document.getElementsByTagName('input').item(0).value :='你的內容';
注:
其中frames.item(0)中的零就表示你在網頁源代碼中看到的第一個frame,
後面的類推,getElementsByTagName('input').item(0).value 這個內容也有多種寫法,可以查考下面的鏈接
關於自動填表及提交表單可以查考下面內容
http://hi.baidu.com/szba/blog/item/9a0e5c1eed0431fc1bd57697.html
#10
我把网址贴出来,请大家帮我看一看
www.ra8888.com
www.ra8888.com
#11
自己多做嘗試
一句話就行了。還要出來問嗎?
webbrowser1.OleObject.document.documentelement.document.frames.item(1).document.item('username').value :='username';
大概JS控制框架不允許跳出框架獨立作用所以就只能用上面的代碼,或者直接把表單保存到本址直接提交本地表單。
<html>
<HEAD><TITLE>Welcome</TITLE><!--<title>Welcome</title>-->
<META http-equiv=Content-Type content="text/html; charset=big5"></HEAD><FRAMESET border=0 frameSpacing=0 rows=*,0,0 frameBorder=NO><FRAME name=SI2_mem_index src="app/member/"><FRAME name=SI2_func src="./ok.html" noResize scrolling=no></FRAMESET>
</html>
一句話就行了。還要出來問嗎?
webbrowser1.OleObject.document.documentelement.document.frames.item(1).document.item('username').value :='username';
大概JS控制框架不允許跳出框架獨立作用所以就只能用上面的代碼,或者直接把表單保存到本址直接提交本地表單。
<html>
<HEAD><TITLE>Welcome</TITLE><!--<title>Welcome</title>-->
<META http-equiv=Content-Type content="text/html; charset=big5"></HEAD><FRAMESET border=0 frameSpacing=0 rows=*,0,0 frameBorder=NO><FRAME name=SI2_mem_index src="app/member/"><FRAME name=SI2_func src="./ok.html" noResize scrolling=no></FRAMESET>
</html>
#12
我尝试了还是不行,我用的是DELPHI 7 + EmbeddedWB
提示 Method 'item' not supported by automation object.
提示 Method 'item' not supported by automation object.
#13
如果你明白這句話的具體意義嘗試是絕對不會失敗的
已給你測試通過
procedure TForm1.FormCreate(Sender: TObject);
begin
wb.Go('www.ra8888.com');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
wb.OleObject.document.documentelement.document.frames.item(0).document.all.item('username').value :='你的內容';
end;
end.
已給你測試通過
procedure TForm1.FormCreate(Sender: TObject);
begin
wb.Go('www.ra8888.com');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
wb.OleObject.document.documentelement.document.frames.item(0).document.all.item('username').value :='你的內容';
end;
end.
#14
坐标是可以获取到的,自带的一个属性可以搞定。我对webborwser比较熟悉。
#15
To:devhp 多谢你的指教,我是初次接触WebBrowse 的,所以很多东面都不是很了解。
再向mwy654321 请教,如果我想取网页上的指定元素的坐标,要取那个属性呢。
原以为 CSDN 的 Delphi 已人气溃散了,估不到在这里还可以得到各位大师的赐教,多谢各位。
再向mwy654321 请教,如果我想取网页上的指定元素的坐标,要取那个属性呢。
原以为 CSDN 的 Delphi 已人气溃散了,估不到在这里还可以得到各位大师的赐教,多谢各位。
#16
路过 学习
#1
up
#2
我也想知道,
帮顶
帮顶
#3
不知道你要這個坐標有什麼用!
如果想自動填表之類根本用不著去理會它的坐標啊。
如果想自動填表之類根本用不著去理會它的坐標啊。
#4
网页的源码不能读取,可能由于不能读源码,所以也不能用IHTMLDocument2及IHTMLElementCollection;
WebBrowse.Document.All.Item('控件ID',0).Value := 'AAa';
之类的来提交表单。我在网上查了很多资料,也不能用。类似以下的:
var
doc : IHTMLDocument2;
all : IHTMLElementCollection;
len,i : integer;
item : OleVariant;
HtmlInputEle : IHTMLInputElement;
SubmitBtn : IHTMLButtonElement;
spDisp : IDispatch;
begin
if WebBrowser1.Document <> nil then
begin
doc:=WebBrowser1.Document as IHTMLDocument2;
all:=doc.all;
len:=all.Length;
for i:=0 to len-1 do
begin
spDisp:=all.item(i,varEmpty);
if SUCCEEDED(spDisp.QueryInterface(IHTMLInputElement ,HtmlInputEle)) then
begin
if HTMlInputEle.name = 'UserID' then
HtmlInputEle.value := 'test';
if HTMlInputEle.name = 'Passwd' then
HtmlInputEle.value := 'test';
end;
if SUCCEEDED(spDisp.QueryInterface(IHTMLButtonElement ,SubmitBtn)) then
if SubmitBtn.name = 'submitButtonName' then
SubmitBtn.click();
end;
end;
end;
WebBrowse.Document.All.Item('控件ID',0).Value := 'AAa';
之类的来提交表单。我在网上查了很多资料,也不能用。类似以下的:
var
doc : IHTMLDocument2;
all : IHTMLElementCollection;
len,i : integer;
item : OleVariant;
HtmlInputEle : IHTMLInputElement;
SubmitBtn : IHTMLButtonElement;
spDisp : IDispatch;
begin
if WebBrowser1.Document <> nil then
begin
doc:=WebBrowser1.Document as IHTMLDocument2;
all:=doc.all;
len:=all.Length;
for i:=0 to len-1 do
begin
spDisp:=all.item(i,varEmpty);
if SUCCEEDED(spDisp.QueryInterface(IHTMLInputElement ,HtmlInputEle)) then
begin
if HTMlInputEle.name = 'UserID' then
HtmlInputEle.value := 'test';
if HTMlInputEle.name = 'Passwd' then
HtmlInputEle.value := 'test';
end;
if SUCCEEDED(spDisp.QueryInterface(IHTMLButtonElement ,SubmitBtn)) then
if SubmitBtn.name = 'submitButtonName' then
SubmitBtn.click();
end;
end;
end;
#5
以上的网页代码我是用Sniffer截包软件截到的。
#6
可能是那个表单在一个frame中,所以你没法直接读取网页源码进而对表单进行操作.
如果是这样,建议你直接用WebBrowser打开那个frame所指向的网页.
如果是这样,建议你直接用WebBrowser打开那个frame所指向的网页.
#7
學習並關注
#8
你要找的那个网页应该会是这样<iframe id="frameAAAA" src="src.html">somehtml</iframe>
你截取到得应该是src.html中的内容,你可以用控制iframe内的元素来控制src.html中的内容,如果还能解决可以联系我QQ:594529009
你截取到得应该是src.html中的内容,你可以用控制iframe内的元素来控制src.html中的内容,如果还能解决可以联系我QQ:594529009
#9
正如六樓說的大概你所要操作的表格是在框架頁中
直接操作框架頁內容用它嘗試
wb1.OleObject.document.documentelement.document.frames.item(0).document.getElementsByTagName('input').item(0).value :='你的內容';
注:
其中frames.item(0)中的零就表示你在網頁源代碼中看到的第一個frame,
後面的類推,getElementsByTagName('input').item(0).value 這個內容也有多種寫法,可以查考下面的鏈接
關於自動填表及提交表單可以查考下面內容
http://hi.baidu.com/szba/blog/item/9a0e5c1eed0431fc1bd57697.html
直接操作框架頁內容用它嘗試
wb1.OleObject.document.documentelement.document.frames.item(0).document.getElementsByTagName('input').item(0).value :='你的內容';
注:
其中frames.item(0)中的零就表示你在網頁源代碼中看到的第一個frame,
後面的類推,getElementsByTagName('input').item(0).value 這個內容也有多種寫法,可以查考下面的鏈接
關於自動填表及提交表單可以查考下面內容
http://hi.baidu.com/szba/blog/item/9a0e5c1eed0431fc1bd57697.html
#10
我把网址贴出来,请大家帮我看一看
www.ra8888.com
www.ra8888.com
#11
自己多做嘗試
一句話就行了。還要出來問嗎?
webbrowser1.OleObject.document.documentelement.document.frames.item(1).document.item('username').value :='username';
大概JS控制框架不允許跳出框架獨立作用所以就只能用上面的代碼,或者直接把表單保存到本址直接提交本地表單。
<html>
<HEAD><TITLE>Welcome</TITLE><!--<title>Welcome</title>-->
<META http-equiv=Content-Type content="text/html; charset=big5"></HEAD><FRAMESET border=0 frameSpacing=0 rows=*,0,0 frameBorder=NO><FRAME name=SI2_mem_index src="app/member/"><FRAME name=SI2_func src="./ok.html" noResize scrolling=no></FRAMESET>
</html>
一句話就行了。還要出來問嗎?
webbrowser1.OleObject.document.documentelement.document.frames.item(1).document.item('username').value :='username';
大概JS控制框架不允許跳出框架獨立作用所以就只能用上面的代碼,或者直接把表單保存到本址直接提交本地表單。
<html>
<HEAD><TITLE>Welcome</TITLE><!--<title>Welcome</title>-->
<META http-equiv=Content-Type content="text/html; charset=big5"></HEAD><FRAMESET border=0 frameSpacing=0 rows=*,0,0 frameBorder=NO><FRAME name=SI2_mem_index src="app/member/"><FRAME name=SI2_func src="./ok.html" noResize scrolling=no></FRAMESET>
</html>
#12
我尝试了还是不行,我用的是DELPHI 7 + EmbeddedWB
提示 Method 'item' not supported by automation object.
提示 Method 'item' not supported by automation object.
#13
如果你明白這句話的具體意義嘗試是絕對不會失敗的
已給你測試通過
procedure TForm1.FormCreate(Sender: TObject);
begin
wb.Go('www.ra8888.com');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
wb.OleObject.document.documentelement.document.frames.item(0).document.all.item('username').value :='你的內容';
end;
end.
已給你測試通過
procedure TForm1.FormCreate(Sender: TObject);
begin
wb.Go('www.ra8888.com');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
wb.OleObject.document.documentelement.document.frames.item(0).document.all.item('username').value :='你的內容';
end;
end.
#14
坐标是可以获取到的,自带的一个属性可以搞定。我对webborwser比较熟悉。
#15
To:devhp 多谢你的指教,我是初次接触WebBrowse 的,所以很多东面都不是很了解。
再向mwy654321 请教,如果我想取网页上的指定元素的坐标,要取那个属性呢。
原以为 CSDN 的 Delphi 已人气溃散了,估不到在这里还可以得到各位大师的赐教,多谢各位。
再向mwy654321 请教,如果我想取网页上的指定元素的坐标,要取那个属性呢。
原以为 CSDN 的 Delphi 已人气溃散了,估不到在这里还可以得到各位大师的赐教,多谢各位。
#16
路过 学习