自动化-Selenium 3-启动浏览器(Python版)

2022-07-22 15:50:17 浏览数 (1)

启动浏览器

第1章 启动Chrome

1.1启动Chrome for Win

1、打开指定路径的Chrome

找到Chrome的chrome.exe应用程序的路径地址(例如C:Program Files (x86)GoogleChromeApplicationchrome.exe),加载到脚本里。

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
"""
打开指定路径的Chrome(Win)
"""
chrome_path = os.path.abspath("C:Program Files (x86)GoogleChromeApplicationchrome.exe")
os.environ["webdriver.chrome.bin"] = chrome_path
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

2、利用chromedriver驱动打开Chrome

找到已下载完成的chromedriver.exe路径地址(例如C:PycharmProjectsMy_Selenium_Demodriverwinchromedriver.exe),加载到脚本里。

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
"""
利用chromedriver驱动打开Chrome(Win)
"""
driver_path = os.path.abspath("C:PycharmProjectsMy_Selenium_Demodriverwinchromedriver.exe")
os.environ["webdriver.chrome.driver"] = driver_path
driver = webdriver.Chrome(driver_path)
driver.get("http://www.baidu.com")

3、打开Chrome,模拟移动端

打开Chrome --->F12--->开启移动端视角,如图所示,可以模拟iPhone 6等设备。

也可以添加或删除设备,点击Edit进行设置。在脚本里deviceName为所要模拟的设备名。

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
"""
打开Chrome,模拟移动端(Win)
"""
driver_path = os.path.abspath("C:PycharmProjectsMy_Selenium_Demodriverwinchromedriver.exe")
os.environ["webdriver.chrome.driver"] = driver_path
mobileEmulation = {"deviceName":"iPhone 6"}
options = webdriver.ChromeOptions()
options.add_experimental_option("mobileEmulation", mobileEmulation)
driver = webdriver.Chrome(driver_path, chrome_options=options)
driver.get("http://www.baidu.com")

4、将chromedriver驱动放到Python安装目录下(Python已经配置环境变量)

如图所示:将chromedriver驱动放到Python安装目录下

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
"""
将chromedriver驱动放到Python安装目录下(Python已经配置环境变量)(Win)
"""
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

5、打开Chrome,屏蔽"Chrome 正受到自动测试软件的控制"提示信息

如图所示:每次执行Chrome都会弹出提示信息

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
"""
打开Chrome,屏蔽"Chrome 正受到自动测试软件的控制"提示信息(Win)
将chromedriver驱动放到Python安装目录下(Python已经配置环境变量)
"""
options = webdriver.ChromeOptions()
options.add_argument('disable-infobars')
driver = webdriver.Chrome(chrome_options=options)
driver.get("http://www.baidu.com")

1.2启动Chrome for Mac

1、利用chromedriver驱动打开Chrome

找到已下载完成的chromedriver路径地址(例如/Users/admin/PycharmProjects/My_Selenium_Demo/driver/mac/chromedriver),加载到脚本里。

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
"""
利用chromedriver驱动打开Chrome(Mac)
"""
driver_path = os.path.abspath("/Users/admin/PycharmProjects/My_Selenium_Demo/driver/mac/chromedriver")
os.environ["webdriver.chrome.driver"] = driver_path
driver = webdriver.Chrome(driver_path)
driver.get("http://www.baidu.com")

2、打开Chrome,模拟移动端

打开Chrome --->开发者模式--->开启移动端视角,如图所示,可以模拟iPhone 6等设备。

也可以添加或删除设备,点击Edit进行设置。在脚本里deviceName为所要模拟的设备名。

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
"""
打开Chrome,模拟移动端(Mac)
"""
driver_path = os.path.abspath("/Users/admin/PycharmProjects/My_Selenium_Demo/driver/mac/chromedriver")
os.environ["webdriver.chrome.driver"] = driver_path
mobileEmulation = {"deviceName":"iPhone 6"}
options = webdriver.ChromeOptions()
options.add_experimental_option("mobileEmulation", mobileEmulation)
driver = webdriver.Chrome(driver_path, chrome_options=options)
driver.get("http://www.baidu.com")

3、将chromedriver驱动放到/usr/local/bin目录下

如图所示:将chromedriver驱动放到/usr/local/bin目录下

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
"""
将chromedriver驱动放到/usr/local/bin目录下(Mac)
"""
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

4、打开Chrome,屏蔽"Chrome 正受到自动测试软件的控制"提示信息

如图所示:每次执行Chrome都会弹出提示信息

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
"""
打开Chrome,屏蔽"Chrome 正受到自动测试软件的控制"提示信息(Mac)
将chromedriver驱动放到/usr/local/bin目录下
"""
options = webdriver.ChromeOptions()
options.add_argument('disable-infobars')
driver = webdriver.Chrome(chrome_options=options)
driver.get("http://www.baidu.com")

第2章 启动Firefox

2.1启动Firefox for Win

1、利用geckodriver驱动打开Firefox

找到已下载完成的geckodriver.exe路径地址(例如C:PycharmProjectsMy_Selenium_Demodriverwingeckodriver.exe),加载到脚本里。

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
"""
利用geckodriver驱动打开Firefox(Win)
"""
driver_path = os.path.abspath("C:PycharmProjectsMy_Selenium_Demodriverwingeckodriver.exe")
driver = webdriver.Firefox(executable_path=driver_path)
driver.get("http://www.baidu.com")

2、将geckodriver驱动放到Python安装目录下(Python已经配置环境变量)

如图所示:将geckodriver驱动放到Python安装目录下

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
"""
将geckodriver驱动放到Python安装目录下(Python已经配置环境变量)(Win)
"""
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")

2.2启动Firefox for Mac

1、利用geckodriver驱动打开Firefox

找到已下载完成的geckodriver路径地址(例如/Users/admin/PycharmProjects/My_Selenium_Demo/driver/mac/geckodriver),加载到脚本里。

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
"""
利用geckodriver驱动打开Firefox(Mac)
"""
driver_path = os.path.abspath("/Users/admin/PycharmProjects/My_Selenium_Demo/driver/mac/geckodriver")
driver = webdriver.Firefox(executable_path=driver_path)
driver.get("http://www.baidu.com")

2、将geckodriver驱动放到/usr/local/bin目录下

如图所示:将geckodriver驱动放到/usr/local/bin目录下

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
"""
将geckodriver驱动放到/usr/local/bin目录下(Mac)
"""
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")

第3章 启动IE

1、利用IEDriverServer驱动打开IE

找到已下载完成的IEDriverServer.exe路径地址(例如C:PycharmProjectsMy_Selenium_DemodriverwinIEDriverServer.exe),加载到脚本里。

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
"""
利用IEDriverServer驱动打开IE
"""
driver_path = os.path.abspath("C:PycharmProjectsMy_Selenium_DemodriverwinIEDriverServer.exe")
driver = webdriver.Ie(driver_path)
driver.get("http://www.baidu.com")

2、将IEDriverServer驱动放到Python安装目录下(Python已经配置环境变量)

如图所示:将IEDriverServer驱动放到Python安装目录下

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
"""
将IEDriverServer驱动放到Python安装目录下(Python已经配置环境变量)
"""
driver = webdriver.Ie()
driver.get("http://www.baidu.com")

注意:

执行脚本的时候有报错:Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones.,说明安全性较高,解决方法:

修改IE的设置,打开IE --->选项--->安全,不选中启用保护模式。

第4章 启动Edge

利用MicrosoftWebDriver驱动打开Edge

找到已下载完成的MicrosoftWebDriver.exe路径地址(例如C:PycharmProjectsMy_Selenium_DemodriverwinMicrosoftWebDriver.exe),加载到脚本里。

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
"""
利用MicrosoftWebDriver驱动打开Edge
"""
driver_path = os.path.abspath("C:PycharmProjectsMy_Selenium_DemodriverwinMicrosoftWebDriver.exe")
driver = webdriver.Edge(driver_path)
driver.get("http://www.baidu.com")

第5章 启动Safari

启动Safari(Selenium 3.6.0)

本章节示例使用的是Selenium 3.6.0版本

确定下载的SafariDriver.safariextz扩展插件已经安装完成。

脚本代码:

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
"""
启动Safari(Selenium 3.6.0)
"""
driver = webdriver.Safari()
driver.get("http://www.baidu.com")

注意:

执行脚本的时候有报错:Could not create a session: You must enable the 'Allow Remote Automation' option in Safari's Develop menu to control Safari via WebDriver. (WARNING: The server did not provide any stacktrace information),提示需要开启Safari允许远程自动化。

打开Safari --->开发--->选中允许远程自动化,设置完成后,再次执行脚本就不会报错了。

- End -

0 人点赞