python-selenum3 第二天启动浏览器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-selenum3 第二天启动浏览器相关的知识,希望对你有一定的参考价值。

启动浏览器
1.火狐
2.IE
3.谷歌

在第一天创建的项目上,创建文件夹和python文件
在项目上右键New一个文件夹,在文件夹下new一个python File即可
新建python File的时候需要输入名字 温馨提示:请避免关键字

输入引库代码

from selenium import webdriver

报错。查看pycharm是否有selenium库
pycharm上 File-Settings

技术分享图片

技术分享图片

验证:
在引库代码下,输入
webdriver.
后出现所有的对象即可
例如
技术分享图片

下载IE和谷歌的驱动程序

IE驱动:https://docs.seleniumhq.org/download/ 我下载的是32位
技术分享图片

谷歌驱动:http://chromedriver.storage.googleapis.com/index.html
技术分享图片

将下载的驱动放到和第一天的geckodriver.exe放到能找到的地方即可。我直接放到了D盘根目录

准备工作结束


开始编写代码
首先是IE驱动,以打开百度网页为验证

#启动IE浏览器
driver = webdriver.Ie(executable_path="d:\IEDriverServer")
#访问百度
driver.get("http://www.baidu.com")
#验证 控制台输出当前网页访问的网址
print(driver.current_url)
#启动谷歌浏览器
driver = webdriver.Chrome(executable_path="d:\chromedriver.exe")
#访问百度
driver.get("http://www.baidu.com")
#验证
print(driver.current_url)
driver = webdriver.Firefox(executable_path = "d:\geckodriver")
driver.get("https://www.baidu.com")
print(driver.current_url)

报错情况

火狐报错1:Except in thread "main" org.openqa.selenium.WebDriverException:
如果非默认安装火狐浏览器的路径可以参考如下代码:

os.environ["webdriver.firefox.driver"] = "D:Program FilesMozilla Firefoxfirefox.exe"
driver = webdriver.Firefox(executable_path = "d:\geckodriver")
driver.get("https://www.baidu.com")
print(driver.current_url)

火狐报错2:WebDriverException:Message:Expected browser
可以导入FirefoxBinary模块

代码如下:

#顶部导入以下模块
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

#修改启动浏览器的代码
binary = FirefoxBinary("D:Program FilesMozilla Firefoxfirefox.exe")
driver = webdriver.Firefox(firefox_binary = binary , executable_path = r"d:\geckodriver")

各浏览器的驱动使用方法

可以创建一个目录专门存放驱动,并把该目录添加到系统环境变量中,webdriver在启动的时候会自动到环境变量中的路径找到不同的驱动

geckodriver.exe ——火狐
chromdriver.exe——谷歌
MicrosoftWebDriver.exe——Edge(win10的e图标,edge并非是ie)
IEDriverServer.exe——IE
operadriver.exe——opera

以上是关于python-selenum3 第二天启动浏览器的主要内容,如果未能解决你的问题,请参考以下文章

python-selenum3 第五天定位——不常用定位与css定位详

python-selenum3 第三天补充——截图和退出

python-selenum3 第六天——WebDriver 常用API

什么会导致 iPad(第 3 代)在启动时崩溃但在模拟器中工作?

python-selenum3 第六天——WebDriver 常用API

bom第二天