我的第二十八篇博客---seleinum

from selenium import webdriver

#初始化驱动
driver=webdriver.Chrome()
#请求页面
driver.get(url=‘https://www.baidu.com‘)
#找到对应标签,发送文本
driver.find_element_by_xpath("//*[@id=‘kw‘]").send_keys(‘2019‘)

#找到按钮,点击click
driver.find_element_by_xpath("//*[@id=‘su‘]").click()
#获取页面内容
content=driver.page_source
print(content)
# #解析页面

# from selenium import webdriver
# driver=webdriver.Chrome()
# driver.get(url=‘https://www.baidu.com‘)
# driver.find_element_by_xpath("//*[@id=‘kw‘]").send_keys(‘2019‘)
# driver.find_element_by_xpath("//*[@id=‘su‘]").click()
# driver.implicitly_wait(10)
# driver.find_element_by_xpath(‘//*[@class="t c-gap-bottom-small"]/a‘).click()
# content=driver.page_source
# print(content)

# from selenium import webdriver
# driver=webdriver.Chrome()
# driver.get(url=‘https://www.baidu.com‘)
# driver.find_element_by_xpath(‘//*[@id="kw"]‘).send_keys(‘2019‘)
# driver.find_element_by_xpath(‘//*[@id="su"]‘).click()
# driver.implicitly_wait(10)
# listContent=[]
# for x in range(1,10):
# content=driver.find_element_by_xpath("//*[@id=%d]/h3/a"%x).text
content=driver.find_element_by_xpath("//*[@id=%d]/h3/a"%x).get_attribute(‘href‘) #获取链接
# listContent.append(content)
# print(listContent)

# from selenium import webdriver
#
# driver=webdriver.Chrome()
# driver.get(url=‘https://movie.douban.com/‘)
# # listTitle=driver.find_elements_by_xpath("//div[@class=‘slide-page‘]/a/p")
# listTitle=driver.find_elements_by_xpath(‘//*[@id="content"]/div/div[2]/div[4]/div[3]/div/div[1]/div/div[2]/a/p‘)
# # listTitle2=[]
# # for x in listTitle:
# # listTitle2.append(x.text)
# # print(‘‘.join(listTitle2))
# for x in listTitle:
# print(x.text)

# from selenium import webdriver
# driver=webdriver.Chrome()
# driver.get(url=‘http://www.ruanyifeng.com/survivor/collapse/index.html‘)
# listTitle=driver.find_elements_by_xpath(‘/html/body/section/div/div[1]/div[2]/nav/div/aside/ul/li/ul/li/a/span[2]‘)
# for x in listTitle:
# print(x.text)

# from selenium import webdriver
# driver=webdriver.Chrome()
# driver.get(url=‘https://www.baidu.com‘)

# from selenium import webdriver
# driver=webdriver.Chrome()
# driver.get(url=‘http://www.ruanyifeng.com/survivor/collapse/index.html‘)
# #隐士等待
# driver.implicitly_wait(10)
# #点击事件
# driver.find_element_by_xpath(‘/html/body/section/div/div[1]/div[1]/article/ul/li[1]/a‘).click()
# #切换窗口
# windows=driver.window_handles
# driver.switch_to.window(windows[1])
# #获取详细页面里面的内容
# content=driver.find_element_by_xpath(‘/html/body/section/div/div[1]/div[1]/article/p[16]‘)
# print(content.text)
# #关闭当前窗口
# driver.close()

# from selenium import webdriver
# driver=webdriver.Chrome()
# driver.get(url=‘http://www.ruanyifeng.com/survivor/collapse/index.html‘)
# driver.implicitly_wait(10)
# driver.find_element_by_xpath(‘/html/body/section/div/div[1]/div[1]/article/ul/li[1]/a‘).click()
# windows=driver.window_handles
# driver.switch_to.window(windows[1])
# content=driver.find_element_by_xpath(‘/html/body/section/div/div[1]/div[1]/article/p[14]‘)
# print(content.text)
# driver.close()

# from selenium import webdriver
# driver=webdriver.Chrome()
# driver.get(url=‘http://www.ruanyifeng.com/survivor/collapse/index.html‘)
# driver.implicitly_wait(10)
# listTitle=driver.find_elements_by_xpath(‘/html/body/section/div/div[1]/div[1]/article//ul/li/a‘)
# # print(len(listTitle))
# for x in range(len(listTitle)):
# driver.find_element_by_xpath(‘/html/body/section/div/div[1]/div[1]/article//ul/li[%d]/a‘%(x+1)).click()
# windows=driver.window_handles
# driver.switch_to.window(windows[1])
# content=driver.find_element_by_xpath(‘/html/body/section/div/div[1]/div[1]/article/p[3]‘)
# print(content.text)
# driver.close()
# driver.switch_to.window(windows[0])
#
# #退出
# driver.quit()

import re
from selenium import webdriver
driver=webdriver.Chrome()
driver.get(url=‘http://www.ruanyifeng.com/survivor/collapse/index.html‘)
driver.implicitly_wait(10)
listTitle=driver.find_elements_by_xpath(‘/html/body/section/div/div[1]/div[1]/article//ul/li/a‘)
def removeTags(content):
content=re.findall("(?<=[(])[^()]+\.[^()]+(?=[)])",content)
return content

for x in range(len(listTitle)):
driver.find_element_by_xpath(‘/html/body/section/div/div[1]/div[1]/article//ul/li[%d]/a‘%(x+1)).click()
windows=driver.window_handles
driver.switch_to.window(windows[1])
content=re.findall(‘<article class="content is-size-4-desktop">(.*)</article>‘,driver.page_source,re.S)
print(removeTags(‘‘.join(content)))
driver.close()
driver.switch_to.window(windows[0])

原文地址:https://www.cnblogs.com/sll-csdn/p/10926083.html

时间: 2024-11-04 02:45:54

我的第二十八篇博客---seleinum的相关文章

我的第二十九篇博客---正则进阶

re.match() 从头找一个re.search() 找一个re.findall() 找所有返回一个列表,没有就是空列表re.findall('\d','chuan1zhi2') 结果为['1','2'] re.sub() 替换 re.sub('\d','_','chuan1zhi2') 结果为['chuan_zhi_'] re.compile(编译)返回一个模型p,具有和re一样的方法,但是传递的参数不同匹配模式需要传到compile中如果不使用re.S参数,则只在每一行内进行匹配,如果一行

我的第二十二篇博客---VUE

Vue.js基本概念:首先通过将vue.js作为一个js库来使用,来学习vue的一些基本概念,我们下载了vue.js后,需要在页面上通过script标签引入vue.js.开发中可以使用开发版本vue.js.产品上线要换成vue.min.js. <script type="text/javascript" src="../static/js/vue.js"></script>Vue实例 每个Vue应用都是通过实例化一个新的Vue对象开始的: &

Egret入门学习日记 --- 第二十八篇(书中 9.19 ~ 9.19 节 内容)

第二十八篇(书中 9.19 节 内容) 没想到第九章的组件篇可真是够长的,没事,慢慢来吧. 开始 9.19节. 重点: 1.创建一个Tips提示组件. 操作: 1.创建一个Tips提示组件. 哇!出大问题!这个Tips组件有点牛皮!怎么办? 书中内容这部分,我直接懵逼. 还有这部分也是. 一点一点来分析好吧. 好,开始分析一波. 第一步:查看最终展示效果. 这是最终效果.(我去,我现在才知道,原来博客园的编辑器还可以放Gif图片...) 第二步:这个黑色的弹框组件本质上是由什么构成的? 可见,在

我的第十九篇博客---JavaScript基本操作

通过条件来控制程序的走向,就需要用到条件语句条件运算符:==, ===, >, >=, <, <=, !=, &&(而且), ||(或者), !(否) if elsevar iNum01=3;var iNum02=5;var sTr;if (iNum01>iNum02){ sTr='大于';}else{ sTr='小于';}alert(sTr); 多重 if else 语句var iNow=1;if(iNow==1){ ...;}else if (iNow==

Python之路【第二十八篇】:django视图层、模块层

1.视图函数 文件在view_demo 一个视图函数简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以.无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你的Python目录下面.除此之外没有更多的要求了——可以说“没有什么神奇的地方”.为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中. 视图

第二十八篇: 学习笔记

最近一直在学一些零零碎碎的东西, 首先,将<鸟哥的 Linux 私房菜 -- 基础学习篇>过了一遍. 因为有了Windows驱动,PCI/PCIe, USB, xHCI, Windows内核编程的基础, 加上自己以前也动手写过Linux设备驱动, 研究过Makefile, KConfig, make menuconfig, GIT的部分内容 鸟哥的这本书确实写得非常通俗易懂,帮我解开了一些以前知道怎么操作, 但不知道为什么要这样操作的疑惑. 另外,基本完成了USB Audio/Video Cl

第二十八篇 静态属性、类方法、静态方法

静态属性 静态属性:实际上说的就是数据属性 需求:每个人都有自己的房子,想知道每个人自己的房子都有多大平米 实现分析:每个人,表示有很多人,不可能一个人写一次计算面积的方法,那么就可以将它提炼出来,放到类里 class Room: tag=1 def __init__(self,name,owner,width,length,heigh): self.name=name self.owner=owner self.width=width self.length=length self.heigh

DataSnap起源于MIDAS(十几篇博客)

作为MIDAS起始于Delphi3,Delphi4是MIDAS II,Delphi5中是MIDASIII,而后基于COM远程数据模块方式使用TCP/IP,HTTP,(D)COM构建出强大的通讯能力.从Delphi6开始改名为DataSnap,直到D2007这个框架一直在使用.D2009重新架构了DataSnap—移除COM依赖,使用TCP/IP以更轻量级的方式生成远程服务对象和客户端连接能力.同时提供了与Delphi Prism2009开发的.NET程序通讯的功能.Delphi2010中构建于D

第二十八篇:SOUI中自定义控件开发过程

在SOUI中已经提供了大部分常用的控件,但是内置控件不可能满足用户的所有要求,因此一个真实的应用少不得还要做一些自定义控件. 学习一个新东西,最简单的办法就是依葫芦画瓢.事实上在SOUI系统中内置控件和自定义控件的开发流程是完全一样的,因此只需要打开SOUI的源代码,随便找一个控件看一下就大体差不多了. 下面我以controls.extend目录下的的SRadioBox2控件为例对控件开发过程需要注意的地方做一点说明. 要开发一个控件,首先要确定的是应该从哪个控件来继承.选择一个合适的基类是正确