はじめて質問させていただきます。
WinXPでDelphi7を使用しています。
TWebBrowserで複数のリンクがあるページを表示させ、
その中から、任意のリンクを自動的にクリックさせる方法を教えてください。
宜しくお願いします。
>させる方法を教えてください。
教えません!!(笑).
こういうのを丸投げといって,ネットでは嫌われます.
これでは,俺の代わりに誰かやってくれ!! と言っているのと大差ありません.
でも,質問がばくぜんとしているので,できないでしょうけど(仕様が不明).
させる方法を教えてください ----> させるアプリを開発してください.
でしたら,高額で請け負いましょうか?
冗談はともかく,エディタで以下のコードを書いて,例えば AAA.htm と
いう名前で保存しします.
保存したら実行します.
<html>
<body>
<a href="http://homepage2.nifty.com/Mr_XRAY/">Mr.XRAY</a>
</body>
</html>
すると,ブラウザで Mr.XRAY と表示されるハズです.このMr.XRAYの
文字をクリックすると,http://homepage2.nifty.com/Mr_XRAY/ のページ
が表示されます.
ブラウザで表示される内容は,上のようなHTML(言語というのでしょうか)で
書かれています.ブラウザで[ソース]の表示というのがそれです.
つまり,まず,そのソースの中の
<a href=
の次に書かれているURLを取得しなければなりません.
ということは,その前にそのソースを取得しなければなりません.
方法は,この掲示板を検索するといろいろ出てきます.
それで,不明なところがあったらまた質問されてはいかがでしょうか.
TWebBrower 取得 等で検索(複数の語句のAND検索)するといいかも知れません.
検索(Google)
http://madia.world.coocan.jp/cgi-bin/DelphiBBS/wwwlng.cgi?search
では,がんばってください.
> まあくさん
自分でどこまでできているのか?何をキーにリンクを選択したいのか?など、
今後はもう少し具体的に質問をされた方が良いと思います。
> Mr.XRAY
これは、SHDOCVW、MSHTMLを理解していれば答えることができる質問です。
TWebBrowserから任意のリンクをクリックしたいということに対して、
HTMLの構造やHTMLの取得方法に言及するのは的確ではありません。
procedure TForm1.Button1Click(Sender: TObject);
var
Url, X: OleVariant;
Document: IHTMLDOcument2;
ElementCollection: IHTMLElementCollection;
Element: IHTMLElement;
i: Integer;
Index: OleVariant;
Name: WideString;
Href: string;
begin
Url:='http://www.google.co.jp/';
WebBrowser1.Navigate2(Url, X, X, X, X);
while (WebBrowser1.Busy) do
Application.ProcessMessages;
Document:=WebBrowser1.Document as IHTMLDocument2;
ElementCollection:=Document.all.tags('a') as IHTMLElementCollection;
for i:=0 to ElementCollection.length - 1 do
begin
Element:=ElementCollection.item(OleVariant(i), Index) as IHTMLElement;
// 名前から任意のリンクを選択する場合
Name:=Element.outerText;
if Name = '検索オプション' then
begin
Element.click;
Exit;
end;
{
// アドレスから任意のリンクを選択する場合
Href:=Element.getAttribute('href', 0);
if Href = 'http://www.google.co.jp/advanced_search?hl=ja' then
begin
Element.click;
Exit;
end;
}
end;
end;
> Mr.XRAYさん
先の回答でお名前から敬称が抜けていました。
失礼しました。
フォローサンクスです.
>先の回答でお名前から敬称が抜けていました。
Mr.がついているのでいいのではないかと... (笑).
> Mr.XRAY様
今後は質問の仕方に気をつけます。
ご指摘ありがとうございました。
> 通りすがり様
サンプルプログラムありがとうございました。
おかげさまで、解決することができました。
リンクはNAME属性がないので、どのように自動クリックすればいいのか
ずっと悩んでいました。
今後は、もっと具体的に質問させていただきます。
この度は、本当にありがとうございました。
ツイート | ![]() |