1.最近在执行一个UI自动化脚本登录网站时遇到一个很奇葩的问题:运行脚本后chromedriver会驱动浏览器打开网站执行脚本里面的一系列界面操作,操作完后浏览器自动关闭了(重点就在这里,我明明没有调用webdriver的close()或是quite()方法,为什么它就自动关闭了呢,之前写过一系列的脚本也没出现这个问题,很是纳闷)

2.在网上搜了下相关问题的贴子,很多说是因为谷歌浏览器的版本与chromedriver的版本不匹配,于是我下载了最新版本的谷歌浏览器和与之对应的chromedriver版本,发现还是不行(期间也有降低浏览器的版本),试了很多次发现还是存在这个问题。冷静下来想了下,我觉得可能不是版本之间兼容性的问题,之前定位的原因可能是错误的,于是在百度上面复制了一个脚本在本地运行,发现自动关闭浏览器的现象没有了。

3.仔细核对脚本代码后发现是方法里面wd变量前加了self与没加self的区别造成的

#coding:utf8
from selenium import webdriver
from config.params import *

class pullData():
path2="E:/chromedriver.exe"
def init(self,url):
self.url=url

def openBrowser(self):wd = webdriver.Chrome(self.path2)           wd.get(self.url)wd.maximize_window()(我的代码里面wd前面没有加self,后来加上self就没有那种现象了),如下:self.wd = webdriver.Chrome(self.path2)           #如果wd变量前不加上self时,浏览器执行完操作后会自动关闭(如wd=webdriver.Chrome(self.path2)),self.wd.get(self.url)self.wd.maximize_window()name='changle'print name

pullD = pullData(url)
pullD.openBrowser()

转载于:https://blog.51cto.com/13599360/2089382

python中类的方法里面变量前加self与不加self的区别相关推荐

  1. 函数名前加static与不加static的区别

    函数名前有无static关键词修饰的区别 引入 static修饰特点 代码示例 代码1(对应第1点) 代码2(对应第2点) 代码3(对应第3点) 总结 引入 在定义函数时,前面有时会有static关键 ...

  2. Linux命令行参数前加杠-和不加杠的区别

    参数前"-"的表明后面的参数是字符形式. 参数前"–"的则表明后面的参数是单词形式. 参数前有横的是System V风格. 参数前没有横的是BSD风格.

  3. python中对类变量的访问形式_Python 面向对象中类、方法、变量、实例化和对象的概念,python定义类和访问权限?python三大支柱封装、继承和多态-立地货...

    Python 面向对象搞懂Python类.方法.变量.实例化和对象的概念 面向对象技术简介 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.面 ...

  4. js中方法调用加括号和不加括号的区别

    前言 一个页面需要使用到setInterval和setTimeout.使用过程中对于方法的调用出现了加括号和不加括号的区别,当然在其他的场景也有发生,window.load = init等等 区别 以 ...

  5. js创建对象时,属性加引号与不加引号的区别(转)

    概要: 总结一下: 1. 命名要规范,变量名或者属性名不能用数字开头. 2. 可以加引号后使用,但调用要像数组中的属性那样调用  obj['888name'] 3. 符合规范的时候,加不加引号一样 以 ...

  6. js中加“var”和不加“var”的区别,看完觉得这么多年js白学了

    Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的.可以正常运行的代码并不代表是合适的代码. var num = 1: 是在 ...

  7. shell 数组遍历加引号和不加引号的区别?

    前言 shell 是一个比较神奇的国度,里面有太多的坑需要填,今天需要填的坑就是,数组遍历在使用时加了引号和不加引号的区别. 案例 解析: 不加引号,数组中元素间的"空格"就会编程 ...

  8. 转Python 参数知识(变量前加星号的意义)

    csdn上的牛人就是多,加油 -------------------------- 过量的参数 在运行时知道一个函数有什么参数,通常是不可能的.另一个情况是一个函数能操作很多对象.更有甚者,调用自身的 ...

  9. linux中的变量前加__user,linux中的环境变量,别名,变量传递和函数块

    一,概述 变量的定义 变量即在程序运行过程中它的值是允许改变的量 变量是用一串固定的字符来标示不固定的值的一种方法 变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运 ...

最新文章

  1. A100 GPU硬件架构
  2. “女版乔布斯”被定罪!曾靠“一滴血”公司狂揽40亿,如今面临最高20年监禁...
  3. Java 常见的OOM类型总结
  4. eclipse文本框输出mysql全部数据_小巧轻便的数据库管理软件HeidiSQL
  5. 如何将 SAP UI5 应用托管到 Github 网站上并运行
  6. 【亲身经验】如何在 6 个月内成为“微软 MVP”
  7. 2017.4.22 loli测试
  8. STM32复位源判断
  9. Spring中采用公共变量并发问题解决
  10. The mbstring extendsion is missing,Please check you PHP configuration
  11. MySQL WARN: Establishing SSL connection ...... is not recommended.
  12. 思岚rplidar A1激光点云数据读取
  13. 华为光伏usb适配器_支持22.5W超级快充无线充电,华为P40手机保护壳深度拆解
  14. 如何合并多个PDF文件?这几个小妙招快来码住吧
  15. 获取名字首字母,js
  16. TI快充芯片-BQ25890
  17. win11分辨率无法调整_win11系统出现分辨率无法调整怎么解决
  18. ESP32学习(3):ESP32上运行ILI9341驱动LCD
  19. American Crew(R) ACUMEN™闪亮登场
  20. Dynamics 365 on-premises9.0中文版安装SrsDataConnector出错

热门文章

  1. iOS8+ UITableView自动计算cell高度并缓存
  2. C#模拟http 发送post或get请求
  3. 有关AutoCompleteBox组件的研究[5][Final]_集成搜索引擎搜索建议(Search Suggestion)——Silverlight学习笔记[40]...
  4. Java 字符串拼接 StringBuilder() StringBuffer
  5. 线程同步synchronized理解
  6. Java中Comparable和Comparator接口区别分析
  7. 当你从事不喜欢的事怎么办
  8. 你真的会玩SQL吗?简单的数据修改
  9. C++的优秀特性2:inline 函数
  10. Element Select下拉框 选中后视图没有渲染等问题