python常见的问题_python常见问题集锦

WebDriverWait

等待界面触发条件后执行下一步:

注意内部条件的括号必须是双层,如:((By.ID,'kw'))

WebDriverWait(driver,10).until(EC.title_is(u"百度一下,你就知道"))

'''判断title,返回布尔值'''

WebDriverWait(driver,10).until(EC.title_contains(u"百度一下"))

'''判断title,返回布尔值'''

WebDriverWait(driver,10).until(EC.presence_of_element_located((By.ID,'kw')))

'''判断某个元素是否被加到了dom树里,并不代表该元素一定可见,如果定位到就返回WebElement'''

WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.ID,'su')))

'''判断某个元素是否被添加到了dom里并且可见,可见代表元素可显示且宽和高都大于0'''

WebDriverWait(driver,10).until(EC.visibility_of(driver.find_element(by=By.ID,value='kw')))

'''判断元素是否可见,如果可见就返回这个元素'''

send_keys失效

在爬虫过程中,对input赋值时,send_keys偶发失效的问题,需要先clear后send_keys

driver.find_element_by_id("searchKeyWord").clear()

driver.find_element_by_id("searchKeyWord").send_keys("123")

python中出现引用报错

一般使用import:

import traceback

引用包内的类 from 包 import 类:

from PIL import Image

多级目录引用:

在每个目录下建 __init__.py 文件,内容为空即可。如下目录:

A文件夹--------B文件夹------a.py

|-------------C文件夹------b.py

|-------------c.py

|-------------d.py

a.py引用b.py:

import sys

sys.path.append("..")

import C.b

a.py引用c.py:

import sys

sys.path.append("..")

import c

c.py引用a.py:

from B import a

c.py引用d.py:

import d #直接引用

from . import d #.表示当前目录

python模块调用提示文件不存在

方法一:

需要使用 os.path.dirname(__file__)解决:

import os

print("当前路径 -> %s" %os.getcwd())

current_path = os.path.dirname(__file__)

def read_file() :

with open(current_path + "/user_info.txt" , encoding = 'utf-8') as f_obj :

content = f_obj.readline()

print("文件内容 -> %s" %content)

方法二:

有时候方法一也不能起到效果,比如当用C#调用python写的exe时就会失效。这就需要用到:

os.path.dirname(sys.argv[0])

具体使用方法和方法一相同,可以获取到当前文件的绝对路径。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值