您的位置:首页 > 健康 > 美食 > 中央广播电视总台领导_企业信息管理系统包括_网站优化排名_百度竞价广告怎么收费

中央广播电视总台领导_企业信息管理系统包括_网站优化排名_百度竞价广告怎么收费

2024/12/27 19:08:36 来源:https://blog.csdn.net/J080624/article/details/144407478  浏览:    关键词:中央广播电视总台领导_企业信息管理系统包括_网站优化排名_百度竞价广告怎么收费
中央广播电视总台领导_企业信息管理系统包括_网站优化排名_百度竞价广告怎么收费

【1】Selenium基础介绍

1.什么是selenium?

(1)Selenium是一个用于Web应用程序测试的工具。
(2)Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。
(3)支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动
真实浏览器完成测试。
(4)selenium也是支持无界面浏览器操作的。

2.为什么使用selenium?

模拟浏览器功能,自动执行网页中的js代码,实现动态加载

3.如何安装selenium?

这里以操作谷歌浏览器为例,首先需要下载谷歌浏览器驱动:

  • 驱动可以在http://chromedriver.storage.googleapis.com/index.html下载,注意驱动的版本一定要与浏览器大版本一致哦。

  • 114后chrome驱动下载地址:https://googlechromelabs.github.io/chrome-for-testing/#stable

更多信息可以参考博文:https://blog.csdn.net/J080624/article/details/78569422

Python安装selenium

pip install selenium

4.selenium的使用步骤?

导入:from selenium import webdriver
创建谷歌浏览器操作对象:

path = 谷歌浏览器驱动文件路径
browser = webdriver.Chrome(path)

访问网址

url = 要访问的网址
browser.get(url)

【2】Selenium使用案例

① selenium的元素定位

元素定位:自动化要做的就是模拟鼠标和键盘来操作来操作这些元素,点击、输入等等。操作这些元素前首先要找到它们,WebDriver提供很多定位元素的方法

# 根据id来找到对象
# button = browser.find_element_by_id('su')
# print(button)# 根据标签属性的属性值来获取对象的
# button = browser.find_element_by_name('wd')
# print(button)# 根据xpath语句来获取对象
# button = browser.find_elements_by_xpath('//input[@id="su"]')
# print(button)# 根据标签的名字来获取对象
# button = browser.find_elements_by_tag_name('input')
# print(button)# 使用的bs4的语法来获取对象
# button = browser.find_elements_by_css_selector('#su')
# print(button)# button = browser.find_element_by_link_text('直播')
# print(button)

② 访问元素信息

from selenium import webdriver
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)url = 'http://www.baidu.com'
browser.get(url)input = browser.find_element_by_id('su')
# 获取标签的属性
print(input.get_attribute('class'))
# 获取标签的名字
print(input.tag_name)# 获取元素文本
a = browser.find_element_by_link_text('新闻')
print(a.text)

③ 鼠标交互

事件:

点击:click()
输入:send_keys()
后退操作:browser.back()
前进操作:browser.forword()
模拟JS滚动:
js='document.documentElement.scrollTop=100000'
browser.execute_script(js) 执行js代码
获取网页代码:page_source
退出:browser.quit()

案例:

from selenium import webdriver# 创建浏览器对象
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)# url
url = 'https://www.baidu.com'
browser.get(url)import time
time.sleep(2)# 获取文本框的对象
input = browser.find_element_by_id('kw')# 在文本框中输入周杰伦
input.send_keys('周杰伦')time.sleep(2)# 获取百度一下的按钮
button = browser.find_element_by_id('su')# 点击按钮
button.click()time.sleep(2)# 滑到底部
js_bottom = 'document.documentElement.scrollTop=100000'
browser.execute_script(js_bottom)time.sleep(2)# 获取下一页的按钮
next = browser.find_element_by_xpath('//a[@class="n"]')# 点击下一页
next.click()time.sleep(2)# 回到上一页
browser.back()time.sleep(2)# 回去
browser.forward()time.sleep(3)# 退出
browser.quit()

【3】Phantomjs(基本被淘汰)

1.什么是Phantomjs?

(1)是一个无界面的浏览器
(2)支持页面元素查找,js的执行等
(3)由于不进行css和gui渲染,运行效率要比真实的浏览器要快很多

2.如何使用Phantomjs?

(1)获取PhantomJS.exe文件路径path
(2)browser = webdriver.PhantomJS(path)
(3)browser.get(url)

下载地址:https://phantomjs.org/download.html

在这里插入图片描述

扩展:保存屏幕快照:browser.save_screenshot('baidu.png')

from selenium import webdriverpath = 'phantomjs.exe'browser = webdriver.PhantomJS(path)url = 'https://www.baidu.com'
browser.get(url)browser.save_screenshot('baidu.png')import time
time.sleep(2)input = browser.find_element_by_id('kw')
input.send_keys('昆凌')time.sleep(3)browser.save_screenshot('kunling.png')

【4】Chrome handless

Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。

配置

from selenium import webdriver
from selenium.webdriver.chrome.options import Optionschrome_options = Options()
chrome_options.add_argument('‐‐headless')
chrome_options.add_argument('‐‐disable‐gpu')path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
chrome_options.binary_location = pathbrowser = webdriver.Chrome(chrome_options=chrome_options)browser.get('http://www.baidu.com/')

封装的handless

from selenium import webdriver
from selenium.webdriver.chrome.options import Optionsdef share_browser():chrome_options = Options()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')# path是你自己的chrome浏览器的文件路径path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'chrome_options.binary_location = pathbrowser = webdriver.Chrome(chrome_options=chrome_options)return browserbrowser = share_browser()url = 'https://www.baidu.com'browser.get(url)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com