Python爬虫速成之路(6):Selenium的使用
创始人
2024-11-17 07:34:22
0

  hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹
19d95742d45b4220ad0ae0359ffcba93.png

💥个人主页:绝命Coding-CSDN博客
💥 所属专栏:后端技术分享
这里将会不定期更新有关后端、前端的内容,希望大家多多点赞关注收藏💖

爬虫就三大种实现方式。第一种是获取网页源代码来获取数据,这种也只能在特定网站生效;第二种是直接get或者post提交数据,这种难度有时候会较大,因为接口往往有一些限制;第三种就是直接模拟浏览器点击操作,第三种就比较无脑,可以实现很多第一第二种实现不了,比如Boss海投工具等。本文介绍的就是Selenium的基本用法。

Python3中使用Selenium进行Web自动化测试是一种非常常见的方法。 

#Python3中Selenium使用方法(连载)  https://www.toutiao.com/a6425040355548397825/ # Selenium 调用IEDriverServer打开IE浏览器 - 天高地阔的专栏 - CSDN博客   #2018/2/* #http://blog.csdn.net/jichuang123/article/details/53008581 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time  brower = webdriver.Ie() url = 'https://hao.360.cn/?wd_xp1' brower.get(url) intput = brower.find_element_by_id('search-kw') intput.send_keys('python') intput.send_keys(Keys.ENTER) time.sleep(3) brower.quit()

知识点

1.新版本的写法(需要写Service,否则好像会报错)

from selenium import webdriver   from selenium.webdriver.chrome.service import Service   from selenium import webdriver   from webdriver_manager.chrome import ChromeDriverManager  s = Service(path)      # path为chromedriver安装路径 bro = webdriver.Chrome(service=s)   bro.get("https://www.shixiseng.com/")

2.chromedriver安装对应浏览器版本的方法(推荐这种方法安装驱动!可以避免版本不一致的问题)
(会安装在类似“C:\Users\czh\.wdm\drivers\chromedriver\win32\107.0.5304\chromedriver.exe”的文件夹下)

from webdriver_manager.chrome import ChromeDriverManager # 下载驱动   def downdriver():       driver = webdriver.Chrome(ChromeDriverManager().install())

3.根据classname找元素的方法
(1)class name有空格的写法

bro.find_element('css selector', "[class='tiktok-q9aj5z-PCommentText e1g2efjf6']")

(2)class name(点开头)

bro.find_element('css selector', ".qaq")

4.根据class的id找元素的方法
class id(#开头)

bro.find_element('css selector', "#qaq")

5.点击按钮写法

button = bro.find_element('css selector', ".qaq") button.click()

6.如果找同个classname的多个元素,在find_element补个s即可(然后用for循环遍历)

bro.find_elements('css selector', ".qaq")

7.如果等待页面加载出某个元素再进行下一步操作,用try,封装函数如下

# 检查存在再进行数据的   def check_find_elements(bro,by,value):       # 等待元素加载完毕       while (True):           try:               # 注意.是class name的意思               bro.find_element(by, value)               #print(value + "找到")               break           except Exception:               continue       return bro.find_elements(by, value)      # 检查存在再进行数据的   def check_find_element(bro,by,value):       # 等待元素加载完毕       while (True):           try:               # 注意.是class name的意思               bro.find_element(by, value)               #print(value + "找到")               break           except Exception:               continue       return bro.find_element(by, value)

现在就可以写成check_find_element(bro, "css selector","[class='nickname']")就会在元素加载完成后再进行下步操作

8.打开了新窗口后,想进入新窗口完成操作,结束后回到上个窗口

# 进入新窗口 cls = bro.window_handles   bro.switch_to.window(cls[1])  # 这里应该进行新窗口的操作  # 关闭新窗口,回到旧窗口 bro.close()   bro.switch_to.window(cls[0])

9.浏览器最小化,窗口缩小

bro.set_window_size(300, 300)   bro.minimize_window()       # 最小化窗口,不影响

  更多历史精彩文章(篇幅过多,不一一列出):

(简历相关)

求职经验分享(1):一份合格的简历应该如何写?-CSDN博客(推荐)

求职经验分享(2):简历如何优化以及如何应对面试【后端篇】-CSDN博客

(项目亮点相关)

大厂面试官赞不绝口的后端技术亮点【后端项目亮点合集(1):Redis篇】-CSDN博客

大厂面试官赞不绝口的后端技术亮点【后端项目亮点合集(2)】-CSDN博客
(八股文)
大厂面试官问我:Redis处理点赞,如果瞬时涌入大量用户点赞(千万级),应当如何进行处理?【后端八股文一:Redis点赞八股文合集】_java中redis如何实现点赞-CSDN博客

大厂面试官问我:布隆过滤器有不能扩容和删除的缺陷,有没有可以替代的数据结构呢?【后端八股文二:布隆过滤器八股文合集】_布隆过滤器不能扩容-CSDN博客

………

(算法篇)
大厂面试:算法考前必看汇总(全)_大厂面试算法题-CSDN博客

感兴趣的小伙伴可以给个三连~

914cbb12b2c3492aaa31232a11aa9c64.png

 

相关内容

热门资讯

7分钟了解!新道游戏辅助器安装... 7分钟了解!新道游戏辅助器安装包(辅助)微乐抚州放炮开挂辅助软件-一直存在有工具所有人都在同一条线上...
5分钟了解!潮汕汇游戏辅助(辅... 5分钟了解!潮汕汇游戏辅助(辅助)熊猫四川麻将开挂辅助辅助-本来存在有下载1、首先打开潮汕汇游戏辅助...
第四分钟了解!微信小程序微乐辅... 第四分钟了解!微信小程序微乐辅助器下载(辅助)嘟嘟十三张开挂辅助安装-其实是真的辅助1、下载好微信小...
6分钟了解!家乡大二有技巧没有... 6分钟了解!家乡大二有技巧没有(辅助)约战武汉麻将开挂辅助神器-一贯存在有工具;1、很好的工具软件,...
九分钟了解!小程序多乐辅助器(... 九分钟了解!小程序多乐辅助器(辅助)欢乐逗开挂辅助脚本-一贯真的是有app1)小程序多乐辅助器免费钻...
第十分钟了解!潮汕馆破解版(辅... 第十分钟了解!潮汕馆破解版(辅助)九哥大厅开挂辅助辅助器-切实存在有工具1、操作简单,无需潮汕馆破解...
第五分钟了解!青鸟辅助安卓(辅... 第五分钟了解!青鸟辅助安卓(辅助)欢乐茶馆开挂辅助插件-好像是有下载1、玩家可以在青鸟辅助安卓线上大...
第九分钟了解!潮友会鱼虾蟹有没... 第九分钟了解!潮友会鱼虾蟹有没有挂辅助(辅助)金年会开挂辅助app-竟然是有工具1、让任何用户在无需...
第四分钟了解!吉祥填大坑技巧(... 第四分钟了解!吉祥填大坑技巧(辅助)天涯麻将开挂辅助辅助器-总是是有辅助1、每一步都需要思考,不同水...
第5分钟了解!雀友会广东潮汕苹... 第5分钟了解!雀友会广东潮汕苹果(辅助)永和备厅开挂辅助修改器-真是存在有脚本1、雀友会广东潮汕苹果...