Selenium

Selenium

一、什么是selenium

​ 1.selenium是一个用于web应用程序测试的工具

​ 2.selenium测试直接运行在浏览器中,就像真正的用户在操作一样

二、 为什么使用selenium

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

三、安装selenium

​ 1.在下列网站中下载与你chrome浏览器对应的驱动

chromedriver.storage.googleapis.com/index.html

​ 2.下载好后解压到桌面有个chromedriver.exe文件辅助到pycham中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dyY3fp5R-1675093125467)(C:\Users\asonare\AppData\Roaming\Typora\typora-user-images\image-20230114180718710.png)]

​ 3.pip install selenium

四、使用selenium

​ 1.基本使用

from selenium import webdriver

path = 'chromedrive.exe'
brower = webdriver.Chrome(path)
url = 'https://www.baidu.com'
brower.get(url)
# 直接打开浏览器

​ 2.selenium元素定位

path = 'chromedriver.exe'
browser = webdriver.Chrome(path)
url = 'https://www.baidu.com'
browser.get(url)
# 通过id来找到对象
button1 = browser.find_element(by='id',value='su') 
# 通过标签属性的属性值来获取对象
button2 = browser.find_element(by='name',value='wd')
# 通过xpath语句来获取对象
button3 = browser.find_element(by='xpath',value='//input[@id="su"]')
# 通过标签的名字来获取对象
button4 = browser.find_elements(by='tag name',value='input')
# link text 用来定位连接标签
button5 = browser.find_elements(by='link text',value='视频')

​ 3.selenium获取元素信息

path = 'chromedriver.exe'
browser = webdriver.Chrome(path)
url = 'http://www.baidu.com'
browser.get(url)

input = browser.find_element(by='id', value='su')
print(input.get_attribute('class'))     # 获取标签的属性
print(input.tag_name)  # 获取标签的名字
print(input.text)   # 获取元素文本
4.selenium交互
path = 'chromedrive.exe'
browser = webdriver.Chrome(path)
url = 'http://www.baidu.com'
browser.get(url)

input = browser.find_element(by='id', value='kw')
# 在文本框输入周杰伦
input.send_keys('周杰伦')
time.sleep(2)
# 获取百度一下按钮
button = browser.find_element(by='id', value='su')
button.click()
time.sleep(2)
# 滑倒底部
js_button ='document.documentElement.scrollTop=100000'
browser.execute_script(js_button)
time.sleep(2)
# 获取下一页的按钮
next = browser.find_element(by='xpath', value='//a[@class="n"]')
next.click()
time.sleep(2)
# 回到上一页
browser.back()
time.sleep(2)
# 回去
browser.forward()
time.sleep(2)
# 退出
browser.quit()

五、Chrome handless

​ 因为selenium会打开界面,界面里有大量的js等文件会影响速度。chrome handless是一个无界面的浏览器,所以性能更高。

Chrome handless的引用固定的,只有path需要自己的路径。其他所有使用方法和selenium一样

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def share_browser():
    chrome_options = Options()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')

    # path是你自己的chrome浏览器的文件路径
    path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
    chrome_options.binary_location = path
    browser = webdriver.Chrome(chrome_options=chrome_options)
    return browser
browser = share_browser()
url = 'http://www.baidu.com'
browser.get(url)

rome_options)
return browser
browser = share_browser()
url = ‘http://www.baidu.com’
browser.get(url)
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值