Python/35-32/(github项目地址(系列文章)

优采云 发布时间: 2021-02-21 12:03

  Python/35-32/(github项目地址(系列文章)

  硒简介

  Selenium是用于Web应用程序测试的工具。硒测试直接在浏览器中运行,就像实际用户正在操作一样。该工具的主要功能包括:测试与浏览器的兼容性-测试您的应用程序,以查看它是否可以在不同的浏览器和操作系统上正常运行。测试系统功能-创建回归测试以验证软件功能和用户需求。支持自动记录动作并自动生成.NET,Java,Perl等不同语言的测试脚本。

  github地址:

  为什么在履带领域使用硒?

  编写采集器的一般方法是使用python脚本直接访问目标网站,并且仅访问目标数据采集,访问速度非常快,因此目标网站可以轻松访问将您识别为机器人,然后阻止您~~并使用硒编写爬虫程序,python脚本控制浏览器访问,也就是说,python脚本和目标网站之间存在额外的浏览器操作,这种行为更像是人类的行为。这样,许多困难的网站也可以轻松捕获。

  使用硒前的准备工作硒的基本知识

  from selenium import webdriver

from bs4 import BeautifulSoup

初始化浏览器

driver = webdriver.Firefox()

打开某个网址

driver.get(url)

  #这里是根据xpath输入账号和密码的

driver.find_element_by_xpath(xpath).clear()

driver.find_element_by_xpath(xpath).send_keys("你的账号")

driver.find_element_by_xpath(xpath).clear()

driver.find_element_by_xpath(xpath).send_keys("你的密码")

#定位“点击登录”框的位置的xpath,通过click()执行登录

driver.find_element_by_xpath(xpath).click()

  #获取该网页的源码

driver.get(url)

html = driver.page_source

bs4 = BeautifulSoup(html,'lxml')

  使用硒

  ## 引入WebDriver的包

from selenium import webdriver

## 创建浏览器对象

browser = webdriver.Firefox()

## 打开百度网站

browser.get('https://www.baidu.com/')

   效果:自动打开浏览器,然后打开百度首页

  from selenium import webdriver

## 创建浏览器对象

browser = webdriver.Firefox()

## 打开小米社区网站

browser.get('https://passport.csdn.net/account/login')

browser.find_element_by_xpath("//*[@id='username']").clear()#清空输入框

browser.find_element_by_xpath("//*[@id='username']").send_keys("你的账号")#输入账号

browser.find_element_by_xpath("//*[@id='password']").clear()#清空输入框

browser.find_element_by_xpath("//*[@id='password']").send_keys("你的密码")#输入密码

browser.find_element_by_xpath("/html/body/div[4]/div/div/div[2]/div/div[1]/div/form/input[8]").click()#登录

   效果:自动打开浏览器,然后打开csdn登录首页,自动输入用户名和密码实现登录。

  ## 引入WebDriver的包

from selenium import webdriver

from bs4 import BeautifulSoup

## 创建浏览器对象

browser = webdriver.Firefox()

## 打开小米社区网站

browser.get('https://account.xiaomi.com/pass/serviceLogin?callback=http%3A%2F%2Fbbs.xiaomi.cn%2Flogin%2Fcallback%3Ffollowup%3Dhttp%253A%252F%252Fbbs.xiaomi.cn%252F%26sign%3DM2E4MTg3MzE3MGJmZGFiMTc0MTE5NmNjZTAyYWNmMDZhNTEwOTU2NQ%2C%2C&sid=new_bbs_xiaomi_cn&_locale=zh_CN')

browser.find_element_by_xpath("//*[@id='username']").clear()#清空输入框

browser.find_element_by_xpath("//*[@id='username']").send_keys("你的账号")#输入账号

browser.find_element_by_xpath("//*[@id='pwd']").clear()#清空输入框

browser.find_element_by_xpath("//*[@id='pwd']").send_keys("你的密码")#输入密码

browser.find_element_by_xpath("//*[@id='login-button']").click()#登录

base_url="http://bbs.xiaomi.cn/d-{page}"

#我这里是抓取了前5页,当然你可以抓取的更多

for i in range(1,6):

url=base_url.format(page=i)

browser.get(url)

bs4=BeautifulSoup(browser.page_source,'lxml')

titles=bs4.find_all('div', {'class':'title'})

for title in titles:

title_content=title.get_text().strip('\n')

print(title_content)

  效果:

  

  如何获得遇到某些问题的xpath?

  这是最简单的方法:

  打开firefox浏览器,进入相应的页面,右键单击一个网页元素,单击以查看该元素,然后复制xpath。如下图所示:

  

  

  WebDriverException:“ geckodriver”可执行文件必须位于PATH中。

  上面也提到了这一点。

  Geckodrive下载链接:

  将下载的geckodriver.exe放入路径路径D:/ Python / Python35-32 /(即,将其放入您的python安装路径中,我假设您已经安装了python并且Python安装路径已添加到路径环境变量)

  GitHub项目地址(系列文章包括常用的第三方库的使用和检索,并将不断更新)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线