Python_Automation_02Selenuim00

Selenuim 常用代码

Guide

 

1忽略浏览器安全保护时,最后别忘记开开,还有别忘了释放资源

如果作为普通用户,安全策略本身没有权限更改时,还是谨慎使用

2Webdriver,浏览器版本一定要匹配,不然都是眼泪

3判断加载成功否不要单纯靠设置sleep,凭概率运气,尤其是复杂点的页面,要设flag,判断标识;

4如果用IE的要是100%显示比例,不然第一下就过不去,没办法公司限制太多

5Xpath有时不太稳,排除失误,明明写的是对的,也会出不来,考虑结合模仿用户操作模块,结合鼠标键盘看看能不能过去

6这个东西常规的头几步开启用用好些,太复杂的不稳定因素太多,不如要来HTTP的API权限

7数据源不会太复杂,记记Path,元素,没必要用小型DB,写excel,别写脚本里,link总是很长的,页面元素变化周期短,写个数据源里每次更新也方便,代码也好维护些

 

总之,开机启动脚本;登录系统过多过于重复输入各种账户密码;登录系统前几步太多时,不得不用时用用。

 

##################################

#coding=utf-8

from selenium import webdriver

import webbrowser

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.support.ui import Select

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

DesiredCapabilities.INTERNETEXPLORER['ignoreProtectedModeSettings'] = True

 

import xml.dom.minidom

from lettuce import *

from lettuce_webdriver.util import assert_false

from lettuce_webdriver.util import AssertContextManager

from lettuce import before, world

import lettuce_webdriver.webdriver

 

import Tkinter

import requests

import bs4

from bs4 import BeautifulSoup

import sys

import time

 

driver = webdriver.Firefox()

driver.get("http://www.baidu.com")

driver.find_element_by_id("kw").send_keys("Selenium2")

driver.find_element_by_id("su").click()

driver.quit()

 

##################

browser=webdriver.Ie()

browser.maximize_window() # 窗口最大化

browser.get('https://www.baidu.com') # 在当前浏览器中访问百度

 

# 新开一个窗口,通过执行js来新开一个窗口

js='window.open("https://www.sogou.com");'

browser.execute_script(js)

print (browser.current_window_handle) # 输出当前窗口句柄()

handles = browser.window_handles # 获取当前窗口句柄集合(列表类型)

print ( handles) # 输出句柄集合

# for handle in handles:# 切换窗口(切换到)

#     if handle!=browser.current_window_handle:

#         print ('switch to ',handle)

#         browser.switch_to_window(handle)

#         print (browser.current_window_handle )# 输出当前窗口句柄()

#    #     break

 

# browser.close() #关闭当前窗口()

# browser.switch_to_window(handles[0]) #切换回窗口

 

# browser.close() #关闭当前窗口

 

#time.sleep(10)

#browser.quit()

DesiredCapabilities.INTERNETEXPLORER['ignoreProtectedModeSettings'] = False

 

posted @ 2017-01-23 18:39  木石1987  阅读(249)  评论(0编辑  收藏  举报