首页 > 其他分享 >Selenium简单介绍

Selenium简单介绍

时间:2023-01-30 09:33:39浏览次数:61  
标签:webdriver service driver selenium 介绍 简单 import Selenium find

Selenium简单介绍

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

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

安装驱动

​ 使用 Selenium 之前需要安装驱动,参考文档:https://www.cnblogs.com/Y-wee/p/17034837.html

​ 安装完驱动执行pip install selenium安装 selenium 依赖包,通过from selenium import webdriver导入依赖开始使用:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service(executable_path="./chromedriver_win32/chromedriver.exe")
driver = webdriver.Chrome(service=service)
# 发送请求
driver.get("https://www.baidu.com")
# 获取网页源码
page = driver.page_source
print(page)
# 关闭浏览器
driver.quit()

​ selenium 官方文档:https://www.selenium.dev/documentation/

元素定位

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By

service = Service(executable_path="./chromedriver_win32/chromedriver.exe")
driver = webdriver.Chrome(service=service)

driver.get("https://www.baidu.com")
# 根据 id 获取元素
driver.find_element(by=By.ID, value='su')
# 根据标签的属性值获取元素
driver.find_element(by=By.NAME, value='wd')
# 根据 xpath 获取元素
driver.find_element(by=By.XPATH, value="//input[@id='su']")
# 根据标签名称获取元素
driver.find_element(by=By.TAG_NAME, value='input')
# 根据 bs4 获取元素
driver.find_element(by=By.CSS_SELECTOR, value='#su')
# 根据链接文本获取元素
driver.find_element(by=By.LINK_TEXT, value='新闻')

driver.quit()

​ 以上方法只能获取符合条件的第一个元素,如果需要获取多个符合条件的元素用find_elements()即可

元素交互

import time

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By

service = Service(executable_path="./chromedriver_win32/chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("https://www.baidu.com")

time.sleep(2)

# 获取百度文本输入框
input = driver.find_element(by=By.ID, value='kw')
# 在文本框输入内容
input.send_keys('周杰伦')

time.sleep(2)

# 获取百度搜索按钮
button = driver.find_element(by=By.ID, value='su')
# 点击按钮
button.click()

time.sleep(2)

'''
执行 js 脚本,滑动到最下面
'''
js_bottom = 'document.documentElement.scrollTop=100000'
driver.execute_script(js_bottom)

time.sleep(2)

'''
获取下一页按钮并点击
'''
next_page = driver.find_element(by=By.CLASS_NAME, value='n')
next_page.click()

time.sleep(2)

# 回到上一页
driver.back()

time.sleep(2)

# 回到下一页
driver.forward()

time.sleep(2)

driver.quit()

标签:webdriver,service,driver,selenium,介绍,简单,import,Selenium,find
From: https://www.cnblogs.com/Y-wee/p/17074396.html

相关文章