selenium + python 获取table数据
2017-08-01 21:06
459 查看
方法一:
""" 根据table的id属性和table中的某一个元素定位其在table中的位置 table包括表头,位置坐标都是从1开始算 tableId:table的id属性 queryContent:需要确定位置的内容 """ def get_table_content(tableId,queryContent): arr = [] arr1 = [] table_loc = (By.ID,tableId) # 按行查询表格的数据,取出的数据是一整行,按空格分隔每一列的数据 table_tr_list = driver.find_element(*table_loc).find_elements(By.TAG_NAME, "tr") for tr in table_tr_list: arr1 = (tr.text).split(" ") #以空格拆分成若干个(个数与列的个数相同)一维列表 # print(tr.text) # print(arr1) arr.append(arr1) #将表格数据组成二维的列表 #循环遍历table数据,确定查询数据的位置 for i in range(len(arr)): for j in range(len(arr[i])): if queryContent== arr[i][j]: print("%r坐标为(%r,%r)" %(queryContent,i+1,j+1)) get_table_content("myTa 4000 ble","第二行第二列")
方法二:
""" 根据table的id属性和table中的某一个元素定位其在table中的位置 table包括表头,位置坐标都是从1开始算 tableId:table的id属性 queryContent:需要确定位置的内容 """ def get_table_content(tableId,queryContent): # 按行查询表格的数据,取出的数据是一整行,按空格分隔每一列的数据 table_tr_list = driver.find_element(By.ID, tableId).find_elements(By.TAG_NAME, "tr") table_list = [] #存放table数据 for tr in table_tr_list: #遍历每一个tr #将每一个tr的数据根据td查询出来,返回结果为list对象 table_td_list = tr.find_elements(By.TAG_NAME, "td") row_list = [] print(table_td_list) for td in table_td_list: #遍历每一个td row_list.append(td.text) #取出表格的数据,并放入行列表里 table_list.append(row_list) # 循环遍历table数据,确定查询数据的位置 for i in range(len(table_list)): for j in range(len(table_list[i])): if queryContent== table_list[i][j]: print("%r坐标为(%r,%r)" %(queryContent,i+1,j+1)) get_table_content("myTable","第二行第二列")
方法三:
""" 根据CSS选择器和table中的某一个元素定位其在table中的位置 table包括表头,位置坐标都是从1开始算 cssSelector:table的CSS选择器属性 queryContent:需要确定位置的内容 """ def get_table_content(cssSelector,queryContent): locator = cssSelector + ">tbody>tr" table_list = [] table_tr_list = driver.find_elements(By.CSS_SELECTOR, locator)[1:] #去掉表头 for tr in table_tr_list: row_list = [] table_td_list = tr.find_elements(By.TAG_NAME,"td") for td in table_td_list: row_list.append(td.text) table_list.append(row_list) for i in range(len(table_list)): for j in range(len(table_list[i])): if queryContent== table_list[i][j]: print("%r坐标为(%r,%r)" %(queryContent,i+1,j+1)) get_table_content("#myTable","第二行第二列")
相关文章推荐
- 获取博客积分排名,存入数据库,读取数据进行绘图(python,selenium,matplotlib)
- selenium + python 获取table数据的示例讲解
- python selenium爬虫实践:获取自如租房数据保存到文件
- python结合selenium获取XX省交通违章数据的实现思路及代码
- python获取动态网站上面的动态加载的数据(selenium+Firefox)
- Python+selenium之获取文本值和下拉框选择数据
- python selenium 获取动态网页数据
- selenium 获取table数据
- Python 使用Selenium获取斗鱼直播主播数据(二十二02)
- python下利用Selenium获取动态页面数据
- 用python+selenium获取北上广深成五地PM2.5数据信息并按空气质量排序
- selenium 获取table中的元素。python
- python结合selenium获取XX省交通违章数据的实现思路及代码
- 用python+selenium获取北上广深成五地PM2.5数据信息并按空气质量排序
- JS选中checkbox后获取table内一行TD所有数据的方法
- 利用jquery右键菜单巧妙获取table的每行数据的id执行方法
- Python+Selenium练习篇之30-获取当前页面全部图片信息
- 【python实战】获取双色球开奖数据之简易版
- 利用selenium获取动态页面的html数据
- Python代理脚本获取Json数据