selenium.webdriver提供了所有WebDriver的实现,目前支持FireFox、phantomjs、Chrome、Ie和Remote
quit()方法会退出浏览器,而close()方法只是关闭页面,但如果只有一个页面被打开,close()方法同样会退出浏览器
使用remote WebDriver
使用remote WebDriver之前,需要先启动selenium server,命令如下:
代码语言:javascript复制java -jar selenium-server-standalone-2.x.x.jar
selenium server运行之后会看到如下信息:
代码语言:javascript复制15:43:07.541 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
上面的信息指明了连接seleniumserver的地址http://127.0.0.1:4444/wd/hub,下面是实例代码:
代码语言:javascript复制from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities=DesiredCapabilities.CHROME)
driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities=DesiredCapabilities.OPERA)
driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities=DesiredCapabilities.HTMLUNITWITHJS)
Desiredcapabilities是字典类型,因此除了使用默认值,也可以重新定义字典的值,代码如下:
代码语言:javascript复制driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities={'browserName':'htmlunit',
'version':'2',
'javascriptEnabled':True})
send_keys(keys.RETURN) #键盘返回键 send_keys(Keys.ARROW_DOWN) #键盘向下的箭头
代码语言:javascript复制#coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains #引入ActionChains鼠标操作类
from selenium.webdriver.common.keys import Keys #引入keys类操作
import time
browser = webdriver.Chrome()
browser.get('http://www.baidu.com')
print '现在将浏览器最大化'
browser.maximize_window()
article = browser.find_element_by_link_text(u'周碧华:社科院出现内鬼意味着什么?')
ActionChains(browser).move_to_element(article).perform()#将鼠标移动到这里,但是这里不好用
ActionChains(browser).context_click(article).perform()
time.sleep(5)
browser.quit()