文档章节

提取网页中的所有链接、点击第 n 个链接 - 回复 "刘丽" 的问题

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 397
阅读 13
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

问题来源: http://www.cnblogs.com/del/archive/2009/01/08/1370907.html#1425544

本例效果图:



代码文件:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    ListBox1: TListBox;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{控件初始化}
procedure TForm1.FormCreate(Sender: TObject);
begin
  WebBrowser1.Align := alTop;
  WebBrowser1.Navigate('http://del.cnblogs.com');
  ListBox1.Align := alClient;

  Button1.Caption := '提取网页所有链接地址';
  Button2.Caption := '提取网页所有链接文本';
  Button3.Caption := '模拟点击指定的链接';
end;

{提取网页所有链接地址}
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  ListBox1.Clear;
  for i := 0 to WebBrowser1.OleObject.document.anchors.Length - 1 do
    ListBox1.Items.Add(WebBrowser1.OleObject.document.anchors.item(i).href);
end;

{提取网页所有链接文本}
procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
begin
  ListBox1.Clear;
  for i := 0 to WebBrowser1.OleObject.document.anchors.Length - 1 do
    ListBox1.Items.Add(WebBrowser1.OleObject.document.anchors.item(i).innerText);
end;

{模拟点击指定的链接}
procedure TForm1.Button3Click(Sender: TObject);
begin
//  WebBrowser1.OleObject.document.anchors.item(0).click; {假如是第一个链接}
  if ListBox1.ItemIndex <> -1 then
    WebBrowser1.OleObject.document.anchors.item(ListBox1.ItemIndex).click;

  ListBox1.Clear;
end;

end.

 
 
 
 
 

 

 

  

窗体文件:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 229
  ClientWidth = 626
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object ListBox1: TListBox
    Left = 8
    Top = 127
    Width = 185
    Height = 130
    ItemHeight = 13
    TabOrder = 4
  end
  object WebBrowser1: TWebBrowser
    Left = 8
    Top = 8
    Width = 300
    Height = 113
    TabOrder = 0
    ControlData = {
      4C000000021F0000AE0B00000000000000000000000000000000000000000000
      000000004C000000000000000000000001000000E0D057007335CF11AE690800
      2B2E126208000000000000004C0000000114020000000000C000000000000046
      8000000000000000000000000000000000000000000000000000000000000000
      00000000000000000100000000000000000000000000000000000000}
  end
  object Button1: TButton
    Left = 451
    Top = 127
    Width = 151
    Height = 25
    Caption = 'Button1'
    TabOrder = 1
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 451
    Top = 158
    Width = 151
    Height = 25
    Caption = 'Button2'
    TabOrder = 2
    OnClick = Button2Click
  end
  object Button3: TButton
    Left = 451
    Top = 189
    Width = 151
    Height = 25
    Caption = 'Button3'
    TabOrder = 3
    OnClick = Button3Click
  end
end

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/01/08/1371867.html

涂孟超
粉丝 13
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
加载中

评论(0)

Python爬虫---爬取抖音短视频

目录 前言 抖音爬虫制作 全部代码 实现结果 待解决的问题 前言 最近一直想要写一个抖音爬虫来批量下载抖音的短视频,但是经过几天的摸索我发现了一个很严重的问题......抖音实在是难爬!从一...

merlin&
05/03
0
0
Web Scraper 翻页——抓取分页器翻页的网页(Web Scraper 高级用法)| 简易数据分析 12

这是简易数据分析系列的第 12 篇文章。 前面几篇文章我们介绍了 Web Scraper 应对各种翻页的解决方法,比如说修改网页链接加载数据、点击“更多按钮“加载数据和下拉自动加载数据。今天我们说...

osc_xgq4n4ik
04/16
4
0
rvest包爬取猎聘网招聘信息

前言 前不久,我用rvest包爬取了政府工作报告,通过jiebaR分词,并用wordcloud2进行了词云分析。点击查看 http://blog.csdn.net/wzgl_wh/article/details/72804687 今天,我们来用rvest包爬取...

wzgl__wh
2017/07/10
0
0
Chrome调试技能和常用插件完全指北

Chrome浏览器是前端工程师必备工具,以其强大的扩展程序和多进程架构、高速、简单搜索、更安全等特点为大家广泛使用。 接下来就简单介绍Chrome的调试技能和常用插件(针对前端) 一、调试技能...

FEvivi
2018/10/23
0
0
TextRank算法的基本原理及textrank4zh使用实例

' '.join(self.sentences)) 媒体 0.02155864734852778高圆圆 0.020220281898126486微 0.01671909730824073宾客 0.014328439104001788赵又廷 0.014035488254875914答谢 0.013759845912857732......

richard1230
03/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

vue组件大小写说明

https://cn.vuejs.org/v2/style-guide/#%E6%A8%A1%E6%9D%BF%E4%B8%AD%E7%9A%84%E7%BB%84%E4%BB%B6%E5%90%8D%E5%A4%A7%E5%B0%8F%E5%86%99%E5%BC%BA%E7%83%88%E6%8E%A8%E8%8D%90......

李超明
12分钟前
14
0
uni-app集成WebSocket

摘自: https://uniapp.dcloud.io/api/request/websocket?id=connectsocket uni.connectSocket(OBJECT) 创建一个 WebSocket 连接。 在各个小程序平台运行时,网络相关的 API 在使用前需要配置...

SummerGao
16分钟前
11
0
关于Oracle子查询各大用法详解

子查询 一.概述: 子查询:一个select语句,作为另一条select语句语法的一部分。 select语句语法: select distinct * | 字段 from 表名 where 查询条件 group by 分组字段 having 分组条件 ...

煌sir
18分钟前
20
0
您能说说序列化和反序列化吗?是怎么实现的?什么场景下需要它?

序列化和反序列化是Java中最基础的知识点,也是很容易被大家遗忘的,虽然天天使用它,但并不一定都能清楚的说明白。我相信很多小伙伴们掌握的也就几句概念、关键字(Serializable)而已,如果深...

费先森
21分钟前
26
0
可以让你用到老的IntelliJ idea 破解法子

看下效果图如下: 安装的时候选择试用,然后进入idea 下载插件 插件地址 然后将jetbrains-agent.jar文件拖入到idea中 然后重启 然后选择Activation code 然后就ojbk了...

布袋和尚_爱吃鱼
43分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部