selenium

一种自动化测试工具,可以模拟人来操作浏览器,执行效率有时候还不如人快,因为需要浏览器页面加载完成才能操作,对网速要求严格,可以用于重复性的操作。

准备工作

按照对应平台下载对应版本谷歌浏览器驱动

linux

下载好linux版本对应驱动后

Ubuntu安装 chromedriver:

将下载的文件移动到软件应该呆的目录去:

sudo mv chromedriver /usr/local/bin/chromedriver

改变用户执行的权限:

sudo chmod 777 /usr/local/bin/chromedriver

检验是否正常使用:

chromedriver --version

windows

放在任意环境变量目录下就行,一般放python解释器目录下

G:\python35\Scripts

python3 安装selenium

pip install selenium

开始写代码

这里分成两种情况

新网址,本页刷新

注意点:

这一句会切换到新url对象,如果不写这句,浏览器对象会去原来url页面中,找元素操作,这时候我们希望操作的元素找不到就会报错。

sreach_window=driver.current_window_handle

第二点注意点是在跳转到新页面以后要等页面加载完毕才能操作不然也会报错,所以在对新页面进行操作之前往往需要延时几秒等待页面加载完毕,具体延时事件和页面加载速度有关系。

time.sleep(10)

# 此代码是来使用百度搜索引擎,搜索“58同城”,并本页刷新进入58同城页面

import time

from selenium import webdriver

#

driver = webdriver.Chrome()

# 请求百度 链接

url = 'http://www.baidu.com'

# 执行操作,打开浏览器输入url

driver.get(url)

# 定位页面表单

ele_kw = driver.find_element_by_id('kw')

# 向表单中填入数据

ele_kw.send_keys('58同城')

# 定位页面搜索按钮

ele_su = driver.find_element_by_id('su')

# 延时几秒确保页面加载完毕

time.sleep(1)

sreach_window=driver.current_window_handle

# 点击“百度一下”按钮

ele_su.click()

# 延时几秒确保页面加载完毕

time.sleep(3)

# 找到“58同城”官网的xpath,点击该标签进入

tongcheng = driver.find_element_by_xpath('//*[@id="1"]/h3/a[1]').click()

# 页面全加载完毕后会关闭浏览器

driver.close()

新网址,新标签页刷新

注意点

将处理对象变为新标签页面,否则浏览器操作对象会找不到要操作页面中的元素

driver.switch_to.window(driver.window_handles[-1])

# 此代码直接进入58同城主站,然后代开租房信息,会出现一个新标签页,之后会将处理者切换到新标签页

import time

from selenium import webdriver

#

driver = webdriver.Chrome()

# 请求百度 链接

url = 'http://www.baidu.com'

# 执行操作,打开浏览器输入url

driver.get(url)

# 延时很多秒确保页面加载完毕,58同城网站实在是内容太多,多等等

time.sleep(20)

# 将页面切换到新出现标签

driver.switch_to.window(driver.window_handles[-1])

sreach_window3=driver.current_window_handle

tongcheng2 = driver.find_element_by_xpath('/html/body/div[3]/div[1]/div[1]/div/div[1]/div[1]/span[1]/a').click()

# 页面全加载完毕后会关闭浏览器

driver.close()

python selenium 跳转网页_selenium关于页面跳转相关推荐

  1. Python+Selenium+phantomjs实现网页模拟登录和截图

    Python+Selenium+phantomjs实现网页模拟登录和截图 本文全部操作均在windows环境下 安装 Python Python是一种跨平台的计算机程序设计语言,它可以运行在Windo ...

  2. python selenium自动化测试面试题_selenium 自动化测试面试题及答案

    1.selenium中如何判断元素是否存在? - isElementPresent 2.selenium中hidden或者是display = none的元素是否可以定位到? - 不能 3.selen ...

  3. python3.8使用requests_python3.8通过python selenium+(requests+BeautifulSoup)对页面进行彻底爬取...

    首先说一下requests+BeautifulSoup对页面的解析 安装requests和BeautifulSoup    安装步骤我在这里就不说了 1.通过requests来读取网页信息  可以通过 ...

  4. python页面跳转中_python web页面跳转

    接到项目需求.需要搭建一个页面进行交互,慢慢来 b (2).jpg 使用python django框架进行页面的搭建 在项目文件下打开窗口,输入命令; django-admin startprojec ...

  5. Python Selenium.WebDriver 最强详解页面加载策略

    Python Selenium.WebDriver 网页加载策略『详细』 文章目录 Python Selenium.WebDriver 网页加载策略『详细』 一.网页加载策略

  6. php jq跳转页面跳转,使用jQuery做页面跳转

    这次给大家带来使用jQuery做页面跳转,使用jQuery做页面跳转的注意事项有哪些,下面就是实战案例,一起来看一下. 所以了,今天我们就来说一说如何在jQuery中跳转到另外一个网页HTML. 其实 ...

  7. html注册跳转php错误500,页面跳转后提示HTTP 异常 500(Internal Server Error):服务器尝试执行请求时遇到了意外情况...

    页面跳转后提示HTTP 错误 500(Internal Server Error):服务器尝试执行请求时遇到了意外情况. index.php跳转到chkadmin.php提示(服务器错误 网站在检索 ...

  8. vue中页面跳转传值_vue的页面跳转方式和传值、取值

    写业务中,从一个页面跳转到另一个页面,经常需要传值和取值,如何实现? 1.通过router-link进行跳转,传递方式: 使用query传递参数,路由必须使用path引入, 使用params传递参数, ...

  9. nuxt页面跳转_Nuxt.js错误页面跳转可能出现的问题

    在我们的编程开发中,需要考虑 404 .500.连接超时(服务器关闭)是非常常见的手段. 首先我们知道的两种错误跳转知识: 有2种方式处理错误页面 方式1:默认路径,_.vue .(先执行) 方式2: ...

  10. Jsp页面跳转和js控制页面跳转的几种方法

    Jsp 页面跳转的几种方法 1. RequestDispatcher.forward() 在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servle ...

最新文章

  1. Lambda表达式关于like问题(未解决)
  2. poj2438(哈密顿回路)
  3. 从oracle10g 10.2.0.1 升级到10.2.0.4碰到的问题及解决
  4. 深度学习在推荐领域的应用
  5. SAP CRM附件上传的一种增强实现
  6. PAT乙级(Basic Level)真题--跟奥巴马一起编程(15)
  7. 解决input获取焦点时底部菜单被顶上来问题
  8. php找不到库,64位系统下编译PHP找不到库文件问题 | 学步园
  9. 计算机图形学在线作业,18春北交《计算机图形学》在线作业一-2
  10. endnote x9破解版怎么导入word 2019使用呢?
  11. RecyclerView 之notifyDataSetChanged的暴躁
  12. 华为担纲建设基础软硬件国家新一代AI开放创新平台
  13. Waited too long for library cache load lock
  14. 保持健康和活力 - 颈椎病康复指南
  15. Windows上架设Turn服务器
  16. TFLite Objec Detection IOS 检测核心代码说明
  17. 计算机系统配置有哪些,电脑配置低装什么系统比较好?(16个回答)
  18. 凑齐三块国字号“招牌”,长沙要召唤智能汽车产业的“神龙”了
  19. 如何选择股市短线黑马
  20. 制造业ERP系统如何解决每个企业都存在的管理困境

热门文章

  1. 负数除以正数余数如何求_关于数学中求余数问题的一个简单方法
  2. 显示一个立方体的斜二测图(用数组存放正方体的各顶点坐标)
  3. 虚拟机的不同网络模式
  4. dell r720光盘启动项_Dell R720服务器安装操作系统
  5. 一文了解RoaringBitmap
  6. hdoj 1163 Eddy's digital Roots(数学问题,继续分析) .
  7. 使用addClass和removeClass完成内容切换
  8. 联通光纤猫hg8240路由功能开启
  9. 地理建模——模型概述
  10. [譯 + 更新] 參透 Node 中 exports 的 7 種設計模式