【selenium+python】关于使用selenium时的几个问题1
问题:selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
原因:提示时没有添加到PATH环境变量,找不到webdriver
解决:win10下曾经把chromedriver所在目录添加到PATH环境变量,但是仍然报相同错误,经搜索,发现把chromedriver.exe放到和python脚本相同的目录下即可运行成功!
问题:TypeError: 'WebElement' object is not iterable
原因:选择多个HTML页面元素的时候应该用方法的复数
解决:改用find_elements_by_tag_name,这里element有s
问题:AttributeError: 'WebElement' object has no attribute 'sendkeys'
原因:代码里写了sendkeys,但是没有这个方法(实际是send_keys)
解决:把sendkeys改为send_keys(这个问题纯属粗心= =)
背景:在使用selenium进行爬虫的时候,需要输入关键字搜索,但是就出现了打开网页,输入关键字后抛出异常的情况。
问题:打开了网页后,抛异常,然后浏览器自动关闭
原因:经调试发现抛异常的位置在:
WebDriverWait(driver,15).until(
EC.title_contains(unicode(to_city))
)
这里的意思是等待搜索结果页加载出包含关键字的网页才继续下一步,但是由于上一步输入to_city值的时候意外点到其他城市名,导致这一步抛出异常无法继续
【selenium+python】关于使用selenium时的几个问题1的更多相关文章
- selenium+python自动化105 - selenium 如何在已打开的浏览器上继续运行自动化脚本?
前言 使用selenium 做web自动化的时候,经常会遇到这样一种需求,是否可以在已经打开的浏览器基础上继续运行自动化脚本? 这样前面的验证码登录可以手工点过去,后面页面使用脚本继续执行,这样可以解 ...
- selenium+python编写自动化脚本时,定位frame中对象操作
在web应用中经常会出现frame嵌套的应用,假设页面上有A,B两个frame,其中B在A内,那么定位B中的内容则需要先到A,再到B.switchTo().frame方法可以把当前定位的主题切换到fr ...
- selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)
1.问题发生描述: 从一个页面进行点击等操作,页面跳转到第二个页面,对第二个页面中的元素,采取任何措施定位都报错,问题报错点如下: 2.出现问题的原因: 窗口句柄还停留在上一个页面,对于当前新弹出的页 ...
- [译]Selenium Python文档:一、安装
1.1.简介 Selenium Python为使用Selenium WebDriver来编写功能/验证测试提供了一个简单的API接口.通过Selenium Python API,你可以以一种非常直观的 ...
- selenium python 一些操作和定位收集
(—)滚动条操作 python中selenium操作下拉滚动条方法汇总 selenium_webdriver(python)控制浏览器滚动条 selenium+Python(select定位) Sel ...
- selenium(python)登录时账号密码错误提示语
selenium(python)登录时账号密码错误提示语的获取 可以用text
- Selenium+Python的环境配置
因为项目的原因,最近较多的使用了UFT来进行自动化测试工作,半年没有使用Selenium了,于是在自己的电脑上重新配置了基于python3.x的selenium环境,配置过程大致如下: 1. Sele ...
- selenium+python测试
pip install selenium, 得有图形界面, 这里简单的先演示一个打开浏览器,输入网址的demo,以百度为例 # encoding = utf-8 from selenium impor ...
- selenium+python笔记6
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 将登陆动作封装成function "" ...
- <译>Selenium Python Bindings 5 - Waits
如今,大多数的Web应用程序使用AJAX技术.当页面加载到浏览器,页面中的元素也许在不同的时间间隔内加载.这使得元素很难定位,如果在DOM中的元素没有呈现,它将抛出ElementNotVisibleE ...
随机推荐
- JAVA给图片添加水印
package com.test; import org.junit.Test; import javax.imageio.ImageIO; import java.awt.*; import jav ...
- RDD编程接口
Spark中提供了通用接口来抽象每个RDD,这些接口包括: 1.分区信息 2.依赖关系 3.函数,基于父RDD计算方法 4.划分策略和数据位置的元数据
- mezzanine的page_menu tag
mezzanine的head 导航条.左侧tree.footer是由page_menu产生的.page_menu的算法,先计算出每一页的孩子,然后再逐页去page_menu. @register.re ...
- Spring事务控制和回滚
1在一个项目中ssh结构,spring2.5,事务控制采用的是tx拦截器的方式. 自己写了个 int a=1/0;异常抛出了,但是事务还是提交了,怎么搞都不行. 现将看到的一些事务控制总结下来: 事务 ...
- Java中Asm包有什么用?
ASM能做什么 我们都知道,一般情况下,Class文件是通过javac编译器产生的,然后通过类加载器加载到虚拟机内,再通过执行引擎去执行. 现在我们可以通过ASM的API直接生成符合Java虚拟机规范 ...
- 简洁的实现ls-l命令
现在我们来简洁的实现命令:了解一下相关知识: 我们使用掩码可以很明确的得出文件的每一种信息.关于掩码,上图中的S_IRUSR等均为掩码.我们来看看函数getpwuid,原型:struct passwd ...
- Spring事务管理——回滚(rollback-for)控制
探讨Spring事务控制中,异常触发事务回滚原理.文章进行了6种情况下的Spring事务是否回滚. 以下代码都是基于Spring与Mybatis整合,使用Spring声明式事务配置事务方法. 1.不捕 ...
- [ SHELL编程 ] echo和printf使用实例
本文主要描述Linux系统中echo和printf命令的使用方法,包括命令参数的含义.使用技巧. 1.echo 了解一个命令我们首先要知道它能做什么,它有哪些参数,参数的含义,可以实现我们哪方面 ...
- .Net编译原理简单介绍
首先简单说一下计算机软件运行.所谓软件运行,就是一步一步做一些事情.计算机只认识0和1.给计算机下命令,只能是0与1的方式,确切的说,其实是CPU只认识0和1,因为软件运行是CPU控制的.人直接操作0 ...
- 两台openwrt 间的免登陆ssh
参考文档: http://www.360doc.com/content/13/1013/21/3884271_321222563.shtml http://blog.csdn.net/u0110079 ...