博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python_Automation_02Selenuim00
阅读量:5223 次
发布时间:2019-06-14

本文共 2153 字,大约阅读时间需要 7 分钟。

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

 

转载于:https://www.cnblogs.com/albertzz1987/p/6344468.html

你可能感兴趣的文章
Leetcode: Unique Binary Search Trees II
查看>>
C++ FFLIB 之FFDB: 使用 Mysql&Sqlite 实现CRUD
查看>>
Spring-hibernate整合
查看>>
c++ map
查看>>
exit和return的区别
查看>>
js += 含义(小知识)
查看>>
B2321 [BeiJing2011集训]星器 数学&&物理
查看>>
201571030319 四则运算
查看>>
RestTemplate 调用本地服务 connection refused
查看>>
.NET方向高级开发人员面试时应该事先考虑的问题
查看>>
台达PLC modbus 不支持04功能码
查看>>
python学习笔记--装饰器
查看>>
发布一个JavaScript工具类库jutil,欢迎使用,欢迎补充,欢迎挑错!
查看>>
discuz 常用脚本格式化数据
查看>>
MS CRM 2011 创建基于Fetch的报表 -- 进阶版
查看>>
洛谷P2777
查看>>
PHPStorm2017设置字体与设置浏览器访问
查看>>
SQL查询总结 - wanglei
查看>>
安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
查看>>
makefile中使用变量
查看>>