Selenium和爬虫学习

这里也是初学,参考买的书,反正再重复一遍,摘录的比较简略,后面再学到的时候再完善……

如何将网页元素告诉Selenium,并让他自动操控网页及读取数据

1.通过HTML标签类型和属性class实现定位

1.1标签类型

以豆瓣电影为例

在这里插入图片描述

from selenium import webdriver
url = 'https://movie.douban.com/'
path = 'C:\\Users\\Admin\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe'

# 将webdrive类实例化
driver = webdriver.Chrome(executable_path=path)

driver.get(url)

tag_name = driver.find_element_by_tag_name('div').text
print('由tag_name定位: ',tag_name)

输出显示为:

由tag_name定位:  登录/注册
下载豆瓣客户端
豆瓣 读书 电影 音乐 同城 小组 阅读 FM 时间 豆品 更多

这种定位方式只能定位符合条件的第一个元素

1.2 元素属性class

在这里插入图片描述

class_name = driver.find_element_by_class_name('nav-items').text
print('由class_name 定位:',class_name)

输出如下

由class_name 定位: 影讯&购票 选电影 电视剧 排行榜 分类 影评 2018年度榜单 2018书影音报告

2.通过文字定位

在这里插入图片描述

link_text = driver.find_element_by_link_text('排行榜').text
print("由linktext定位:",link_text)
partial_link_text = driver.find_element_by_partial_link_text('书影').text
print("由particallinktext定位:",partial_link_text)

输出如下:

由linktext定位: 排行榜
由particallinktext定位: 2018书影音报告

3.元素的定位选择器

在这里插入图片描述
代码如下:

xpath = driver.find_element_by_xpath('//*[@id="db-nav-movie"]/div[1]/div/div[1]/a').text
print("xpath定位:",xpath)
selector = driver.find_element_by_css_selector('#db-nav-movie > div.nav-wrap > div > div.nav-logo > a').text
print("selector定位:",selector)

输出如下:

xpath定位: 豆瓣电影
selector定位: 豆瓣电影

4.通过元素id和name的属性值来定位

driver.find_element_by_id('inp-query').send_keys('红海行动')
driver.find_element_by_name('search_text').send_keys('我不是药神')

定位到搜索框并传入关键字搜索

发布了16 篇原创文章 · 获赞 3 · 访问量 1072

猜你喜欢

转载自blog.csdn.net/weixin_42233120/article/details/102607919