赞
踩
Selenium 是一个用于网站应用程序自动化的工具,它可以直接运行在浏览器中,就像真正的用户在操作一样。提示用于实现网页操控与数据爬取,其抓取网页信息是在谷歌开发者工具的Elements选项卡里。
首先,是一定要安装好Selenium及webdriver的配置环境的,这部分在前面已经说过,这里就不再赘述了,有需要的话,可以自取,希望对大家有帮助。下面,我们就简单的说一下Selenium 的应用
Selenium定位的方式有八种:需要注意的是,以下几种方式定位的是匹配到的第一个元素的值(如果有多个相同属性值的话),如果有多个相同的属性值,我们想全部获取,之后我们来说那个定位方式
find_element_by_id()
find_element_by_name() 这两种是根据属性id,name实现定位
find_element_by_class_name()
find_element_by_tag_name() 这两种是通过HTML标签类型和属性class实现定位
find_element_by_link_text() 这两种是同过标签值实现定位
find_element_by_partial_link_text() partial_link是模糊匹配
find_element_by_xpath() 这两种是通过定位选择器(标签的路径)实现定位
find_element_by_css_selector()
下面我们以豆瓣电影网举例说明:
- from selenium import webdriver
- drivr = webdriver.Chrome()
- url = 'https://movie.douban.com/'
-
- # 以属性id,name实现定位
-
- driver.find_element_by_id('inp-query').sent_keys('龙岭迷窟')
- driver.find_element_by_name('search_text').sent_keys('国王:永远的君主')
-
- # 以属性class和html标签实现定位,返回定位内容
- class_name = driver.find_element_by_class_name('nav-items').text
- tag_name = driver.find_element_by_tag_name('div').text
- print('由class_name实现定位: ',class_name)
- print('由tag_name实现定位: ',tag_name)
-
- # 通过标签值实现定位:
-
-
- link_text = driver.find_element_by_link_text('排行榜').text
- partial_link_text = driver.find_by_partial_link_text('全部正在热映').text
-
- print('由link_text实现定位: ',link_text)
- print('由link_text实现定位: ',link_text)
-
- # 通过xpath,css selector,标签路径实现定位
- xpath= driver.find_element_by_xpath('//*[@id="db-nav-movie"]/div[1]/div/div[1]/a')
- css_selector= driver.find_element_by_class_selector('#db-nav-movie > div.nav-wrap > div > div.nav-logo > a')
- print('由xpath实现定位: ',xpath)
- print('由css_selector实现定位: ',css_selector)
将上述八种方法中的element改为elements即可
find_elements_by_id()
find_elements_by_name() 这两种是根据属性id,name实现定位
find_elements_by_class_name()
find_elements_by_tag_name() 这两种是通过HTML标签类型和属性class实现定位
find_elements_by_link_text() 这两种是同过标签值实现定位
find_elements_by_partial_link_text() partial_link是模糊匹配
find_elements_by_xpath() 这两种是通过定位选择器(标签的路径)实现定位
find_elements_by_css_selector()
补充的一点:对于xpath,css_selector的语法,一种简单的方法是可以在一般情况下在Chrome开发者工具里的Element标签里,右击想要定位的标签,(对于xpath,css_selector语法的编写:读者可以进一步查阅资料,进一步了解语法的编写规则)
copy-->选择copy path或者xpath,截图如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。