selenium.webdriver提供了所有WebDriver的实现,目前支持FireFox、phantomjs、Chrome、Ie和Remote
quit()方法会退出浏览器,而close()方法只是关闭页面,但如果只有一个页面被打开,close()方法同样会退出浏览器
使用remote WebDriver
使用remote WebDriver之前,需要先启动selenium server,命令如下:
java -jar selenium-server-standalone-2.x.x.jar
selenium server运行之后会看到如下信息:
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,下面是实例代码:
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是字典类型,因此除了使用默认值,也可以重新定义字典的值,代码如下:
driver = webdriver.Remote( command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities={'browserName':'htmlunit', ', 'javascriptEnabled':True})
send_keys(keys.RETURN) #键盘返回键
send_keys(Keys.ARROW_DOWN) #键盘向下的箭头
#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()