路漫漫其修远兮,吾将上下而求索。 网站首页学无止境

python selenium入门 元素定位

想要操作web页面上的元素,首先必须要定位到这个元素上。每个元素都有他各自的属性,比如id,name,class等,我们就通过这些属性来定位元素。 ## 定位方法 webdriver提供的定位方法如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200822192304837.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDM4ODA5Mg==,size_16,color_FFFFFF,t_70#pic_center) ## 代码举例 ```python # -*- coding: utf-8 -*- # author:Gary from selenium import webdriver # 第一步:创建一个浏览器对象 browser = webdriver.Chrome() # 第二步:使用浏览器对象对网址发起请求 browser.get("https://www.gary666.com") # 测试代码 # 获取网页的源代码 print(browser.page_source) # 获取此次请求的地址 # print(browser.current_url) # 当前窗口对象 # print(browser.current_window_handle) # 获取此次请求的cookie信息 # print(browser.get_cookies()) # 退出浏览器的命令,注释掉方便我们查看,正式运行一定要退出 # browser.quit() # ************************selenium定位html元素************************# ''' .text方法是获取这个html元素的内容 find_element是只返还一个 需要返回多个可以通过find_elements来获取 ''' ''' 1.通过id定位,方法:find_element_by_id() 比如获取我博客的头部导航栏内容,观察html源代码可以发现,其id为topnav,id通常唯一,所以调用find_element_by_id()即可 ''' topnav = browser.find_element_by_id('topnav').text print('topnav内容', topnav) ''' 1.通过class定位,方法:find_element_by_class_name() 比如获取我博客的logo内容,观察html源代码可以发现,其class为logo,而且只有一个class,所以只要调用然后调用find_element_by_class_name()即可,如果需要获取多个,调用find_elements_by_class_name() ''' logo = browser.find_element_by_class_name('logo').text print('logo内容', logo) browser.quit() ``` ## TODO - [ ] 增加更多的方法示例 - [ ] 对每个方法进行更多的解释 >参考博文: https://blog.csdn.net/kelanmomo/article/details/82885954

blog2.0

存储、逻辑处理和页面响应等分离,对相关操作进行封装。

重构1

优化一下细节,修复一些小bug

代码重构

准备重新优化现有系统

数据分析入门

用pandas做数据分析,用matplotlib做数据可视化,pandas读取数据read函数,读取一行:data.loc[行标],读取多行:data.loc[m:n],读取一列或多行:data['列名A',‘列名B’]。

1 2 3 4 5
Top