Python Selenium3 WebDriver Remote

Selenium3出来了,除了需要指定浏览器安装路径,驱动程序路径加入PATH,单机版用起来没什么大差别。

鉴于网上现在关于WebDriver Remote,仅有的几篇帖子都是JAVA版的。猫哥这里尝试了一下Python版。

1. 环境

Python 2.7.15

Selenium-Server-Standalone-3.3.1

Selenium-Server就是一个jar包,放在任何位置都可以。执行时候直接java -jar 运行。

java -jar selenium-server-standalone-3.3.1.jar

2. 单机版

如果不考虑remote模式,开启一个Selenium浏览器实例应该是类似这样。

driver = selenium.webdriver.Firefox()

但是Remote模式下,就要稍微复杂一点儿:

driver = selenium.webdriver.remote.webdriver.WebDriver(command_executor="http://127.0.0.1:4444/wd/hub",desired_capabilities=DesiredCapabilities.FIREFOX)

记得先启动selenium-server,直接java执行即可。

java -jar selenium-server-standalone-3.3.1.jar

完整的最简单例子如下:

#!/usr/bin/env python
#coding=utf-8

import selenium.webdriver.remote.webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from time import sleep

driver = selenium.webdriver.remote.webdriver.WebDriver(command_executor="http://127.0.0.1:4444/wd/hub",desired_capabilities=DesiredCapabilities.FIREFOX)
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("python")
driver.find_element_by_id("su").click()
sleep(2)
driver.quit()

3. 多机版

多机版(真正的remote模式),需要定义两个角色:hub(即Master)、node(即Slave)。

要在其它node主机执行,必须满足以下几个条件:

  • 本地hub 主机与远程node 主机之间可以相互ping 通。
  • 远程主机必须安装运行脚本的浏览器及驱动(如,chrome 浏览器及chromedriver.exe 驱动)
  • 远程主机必须安装java 环境
  • 远程主机必须安装selenium server

具体怎么用,可以看帮助。

看所有的一级选项:

java -jar selenium-server-standalone-3.3.1.jar --help


看hub特性:

java -jar selenium-server-standalone-3.3.1.jar -role hub -help


看node特性:

java -jar selenium-server-standalone-3.3.1.jar -role node --help


启动hub很简单:

java -jar selenium-server-standalone-3.3.1.jar -role hub

启动node稍微复杂点儿,必须指定hub地址、端口:
java -jar selenium-server-standalone-3.3.1.jar -role node -port 5555 -hub http://10.120.9.222:4444/grid/register



  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值