• 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

  • 相关阅读:
    appium+python自动化:获取元素属性get_attribute
    Appium定位
    Appium 服务器初始化参数(Capability)
    你会阅读appium官网文档吗
    Appium 服务命令行参数
    推荐一个pycharm验证xpath表达式的插件XPathView +​ XSLT
    今日总结
    今日总结
    今日总结
    动手动脑 继承
  • 原文地址:https://www.cnblogs.com/albertzz1987/p/6344468.html
Copyright © 2020-2023  润新知