Construction de l'environnement du navigateur Selenium + Chrome
Documentation officielle du projet Python de Selenium: https://selenium-python.readthedocs.io/index.html
1. Introduction au sélénium
Selenium est un outil de test automatisé d'applications Web. Les tests Selenium s'exécutent directement dans le navigateur, tout comme un utilisateur réel opère. Les navigateurs pris en charge incluent IE (7, 8, 9, 10, 11), Mozilla Firefox, Safari, Google Chrome, Opera, etc.
Les principales fonctions comprennent: tester la compatibilité avec le navigateur - tester votre application pour voir si elle peut bien fonctionner sur différents navigateurs et systèmes d'exploitation.
Tester les fonctions du système - créer des tests de régression pour vérifier les fonctions du logiciel et les exigences des utilisateurs. Prise en charge des actions d'enregistrement automatique et de la génération automatique de scripts de test dans différents langages tels que .Net, Java, Perl, etc.
Selenium est également un framework open source qui est également publié sous le protocole Apache License 2.0.
1) plate-forme de soutien
WebDriver prend en charge les tests de navigateur sur deux plates-formes mobiles, Android et BlackBerry. Android est actuellement la plate-forme mobile avec la plus grande part de marché. Pour les tests automatisés, Appium est recommandé. Appium étend le protocole WebDriver pour prendre en charge les applications natives, les applications Web et les applications hybrides sur la plate-forme ios et la plate-forme Android.
2) Navigateur d'assistance
Les navigateurs actuellement pris en charge par WebDriver incluent: Firefox, Chrome, IE, Edge, Opera, Safari. Pourquoi avez-vous choisi les navigateurs ci-dessus pour la prise en charge? Principalement lié au noyau du navigateur.
3) mode de soutien
HtmlUnit et PhantomJS sont deux modes spéciaux. Nous pouvons les considérer comme des pseudo-navigateurs. Dans ce mode, ils prennent en charge l'analyse de html **, ** Java Saript, etc., mais ils ne rendront pas réellement la page. Le rendu CSS et GUI n'étant pas effectué, l'efficacité opérationnelle est beaucoup plus rapide que celle d'un vrai navigateur, et elle est principalement utilisée pour les tests fonctionnels.
2. Installez le pilote de navigateur chromedriver sous Windows
Le pilote de navigateur correspondant à la version de Chrome chromedriver.exe
:
version chromedriver | Version de Chrome prise en charge |
---|---|
v2.46 | v71-73 |
v2.45 | v70-72 |
v2.44 | v69-71 |
v2.43 | v69-71 |
v2.42 | v68-70 |
v2.41 | v67-69 |
v2.40 | v66-68 |
v2.39 | v66-68 |
v2.38 | v65-67 |
v2.37 | v64-66 |
v2.36 | v63-65 |
v2.35 | v62-64 |
v2.34 | v61-63 |
v2.33 | v60-62 |
v2.32 | v59-61 |
v2.31 | v58-60 |
v2.30 | v58-60 |
v2.29 | v56-58 |
v2.28 | v55-57 |
v2.27 | v54-56 |
v2.26 | v53-55 |
v2.25 | v53-55 |
v2.24 | v52-54 |
v2.23 | v51-53 |
v2.22 | v49-52 |
v2.21 | v46-50 |
v2.20 | v43-48 |
v2.19 | v43-47 |
v2.18 | v43-46 |
v2.17 | v42-43 |
v2.13 | v42-45 |
v2.15 | v40-43 |
v2.14 | v39-42 |
v2.13 | v38-41 |
v2.12 | v36-40 |
v2.11 | v36-40 |
v2.10 | v33-36 |
v2.9 | v31-34 |
v2.8 | v30-33 |
v2.7 | v30-33 |
v2.6 | v29-32 |
v2.5 | v29-32 |
v2.4 | v29-32 |
89.0.4389.23 | 89 |
88.0.4324.96 | 88 |
87.0.4280.88 | 87 |
86.0.4240.22 | 86 |
85.0.4183.87 | 85 |
84.0.4147.30 | 84 |
83.0.4103.39 | 83 |
81.0.4044.69 | 81 |
80.0.3987.106 | 80 |
79.0.3945.36 | 79 |
78.0.3904.105 | 78 |
77.0.3865.40 | 77 |
76.0.3809.126 | 76 |
75.0.3770.140 | 75 |
74.0.3729.6 | 74 |
73.0.3683.68 | 73 |
Prenons l' exemple du navigateur 360 speed
1) Afficher la version Chrome du navigateur 360 speed: 86
image-20210304132019356.png
2) Téléchargez la version correspondante chromedriver.exe
: v86.0.4240.22
https://chromedriver.storage.googleapis.com/index.html
4)解压chromedriver_win32.zip
,将chromedriver.exe
移动到360极速浏览器主程序目录C:\Users\Caviar\AppData\Local\360Chrome\Chrome\Application
(这里也可以将chromedriver.exe
放置在某个固定目录,并将该目录添加到Windows的环境变量变量中去)
3. 安装Selenium库
使用pip安装,在CMD(指命令提示符)中执行命令:
pip install selenium
Selenium库安装成功:
4. 运行测试
test.py
:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import time
def main():
options = Options()
# options.binary_location指定360极速浏览器路径
options.binary_location = 'C:\\Users\\Caviar\\AppData\\Local\\360Chrome\\Chrome\\Application\\360chrome.exe'
# 创建Chrome驱动实例,executable_path指定chromedriver路径
driver = webdriver.Chrome(options=options, executable_path='C:\\Users\\Caviar\\AppData\\Local\\360Chrome\\Chrome\\Application\\chromedriver.exe')
driver.maximize_window() # 最大化浏览器
print('最大化浏览器')
driver.get("https://www.baidu.com/")
time.sleep(3)
driver.quit()
if __name__ == '__main__':
import traceback
try:
main()
except Exception:
traceback.print_exc()
#with open('error.txt', 'w', encoding='utf-8') as f:
# traceback.print_exc(file=f)
input('\n程序运行异常,按回车键退出...')