配置:
1 需要在Chrome浏览器安装插件ChromeDriver,放置在谷歌浏览器安装目录并加入环境变量path。
http://npm.taobao.org/mirrors/chromedriver/
链接: https://pan.baidu.com/s/1o8IG7c2 密码: jb3g
简单演示代码:
# -*- coding: utf-8 -*-
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('http://blog.csdn.net/qton_csdn')
driver.maximize_window()#窗口最大化
print 'driver_title:',driver.title #标题
time.sleep(0.5)
driver.find_element_by_id("inputSearch").click()
driver.find_element_by_id("inputSearch").clear()
driver.find_element_by_id("inputSearch").send_keys("NG")
time.sleep(0.5)
driver.find_element_by_id("btnSubmit").click()
time.sleep(0.5)
driver.find_element_by_xpath("//span[@class='link_title']").click()
time.sleep(0.5)
driver.back()
time.sleep(0.5)
driver.refresh()
time.sleep(0.5)
driver.forward()
time.sleep(2)
driver.close()
模块化代码演示:
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re
class TESR(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(30)
self.base_url = "http://210.38.192.31:81/test.aspx"
self.verificationErrors = []
self.accept_next_alert = True
def test_(self):
# driver = self.driver
# driver.maximize_window()#窗口最大化
# driver.get(self.base_url)
# print 'driver_title:',driver.title #标题
# time.sleep(0.5)
# driver.find_element_by_id("inputSearch").click()
# driver.find_element_by_id("inputSearch").clear()
# driver.find_element_by_id("inputSearch").send_keys("SQL")
# time.sleep(0.5)
# driver.find_element_by_id("btnSubmit").click()
# time.sleep(0.5)
# driver.find_element_by_xpath("//span[@class='link_title']").click()
# time.sleep(0.5)
# driver.back()
# time.sleep(0.5)
# driver.refresh()
# time.sleep(0.5)
# driver.forward()
# time.sleep(2)
# driver.close()
driver = self.driver
driver.maximize_window()
driver.get(self.base_url)
print 'Title:',driver.title
driver.find_element_by_xpath("//*[@id='txtUsername_Lib']").send_keys('1411003****')
driver.find_element_by_xpath("//*[@id='txtPas_Lib']").send_keys('******')
driver.find_element_by_xpath("//*[@id='btnLogin_Lib']").click()
time.sleep(2)
driver.get_cookies()
driver.get("http://210.38.192.31:81/user/bookborrowedhistory.aspx")
print 'title:',driver.title
driver.find_element_by_link_text('修改密码').click()
print '运行成功!'
time.sleep(5)
driver.close()
def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException as e: return False
return True
def is_alert_present(self):
try: self.driver.switch_to_alert()
except NoAlertPresentException as e: return False
return True
def close_alert_and_get_its_text(self):
try:
alert = self.driver.switch_to_alert()
alert_text = alert.text
if self.accept_next_alert:
alert.accept()
else:
alert.dismiss()
return alert_text
finally: self.accept_next_alert = True
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
unittest.main()
帮助文档:
可通过
print help(webdriver.Chrome())
查看在python下selenium的详细用法
Help on WebDriver in module selenium.webdriver.chrome.webdriv