selenium 是python的一个库,可以很方便的调用浏览器驱动,实现代码操控浏览器。

最近一直中利用业余时间在研究这个,今天分享给大家。

使用一个有道翻译进行案例吧。直接上代码。


'''根据chrome浏览器2017年发布的新特性,需要unix版本的chrome版本高于57,windows版本的chrome版本高于58,才能使用无界面运行.
'''
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver import ActionChains
import timeinput_txt = "今天天气不错,挺风和日丽的,我们下午不上班,情挺好的,你呢好不好啊."    # 需要翻译的内容chrome_opt = Options()      # 创建参数设置对象.
chrome_opt.add_argument('--headless')   # 无界面化.
chrome_opt.add_argument('--disable-gpu')    # 配合上面的无界面化.
chrome_opt.add_argument('--window-size=1366,768')   # 设置窗口大小, 窗口大小会有影响.
chrome_opt.add_argument("--no-sandbox")    # ubuntu没有报错是因为不是以root用户登录的。# 创建Chrome对象并传入设置信息.
driver = webdriver.Chrome(executable_path=“chromedriver.exe”, options =chrome_opt)
# 操作这个对象.
driver.get('http://fanyi.youdao.com/')     # get方式访问有道翻译.
time.sleep(2)
element_input_txt = driver.find_element_by_id("inputOriginal")    # 左边文本框
#element_input_txt.send_keys(input_txt)    # 文本框输入
#ActionChains(driver).send_keys(input_txt).perform()element_trs_btn = driver.find_element_by_id("transMachine")    # 翻译按钮
ActionChains(driver).send_keys(input_txt).move_to_element(element_trs_btn).click().perform()
# element_trs_btn.click()    # 点击按钮element_output_txt = driver.find_element_by_id("transTarget")    # 右边文本框
print(element_output_txt.text)    # 翻译结果# print(driver.page_source)       # 打印加载的page code, 证明(prove) program is right.# 使用完, 记得关闭浏览器, 不然chromedriver.exe进程为一直在内存中.
driver.close()
driver.quit()   

运行结果如下

需要注意的有几点:

1,系统需要有对应版本的chromedriver.exe(linux版本也是需要对应的),环境变量不是必须配置的,可以通过executable_path=“chromedriver.exe”指定对应的驱动。

2,浏览器参数设置,这两行是控制是否显示浏览器界面的。如果注释掉运行后,就会弹出浏览器自动操作。

chrome_opt.add_argument('--headless')   # 无界面化.
chrome_opt.add_argument('--disable-gpu')    # 配合上面的无界面化.

python+selenium 实现完全控制浏览器相关推荐

  1. Python selenium与pyautogui控制浏览器实现modis数据自动下载

    目录 序言: 准备工作: 基本思路: 完整代码: 序言: 上次提到通过modis连接下载数据的方式有很多,本文选择selenium模拟登录的方式通过谷歌浏览器下载,但是并不推荐这种方法,只是恰好学习了 ...

  2. python selenium 不弹出浏览器

    python selenium 不弹出浏览器 自动化测试弹出浏览器可以清晰的看到操作步骤,和执行页面,领导也喜欢看,并不适合所有场景,比如:自动sign...哇哈哈... 开发环境: python3. ...

  3. Python+Selenium WebDriver API:浏览器及元素的常用函数及变量整理总结

    由于网页自动化要操作浏览器以及浏览器页面元素,这里笔者就将浏览器及页面元素常用的函数及变量整理总结一下,以供读者在编写网页自动化测试时查阅. from selenium importwebdriver ...

  4. python+selenium环境配置及浏览器调用

    最近在学习python自动化,从项目角度和技术基础角度出发,我选择了python+selenium+appium的模式开始我的自动化测试之旅: 一.python安装 二.python IDE使用简介 ...

  5. python selenium操作打开的浏览器_Python_Selenium操作Firefox浏览器

    一.打开网址 方法说明:webdriver.Firefox()用于创建一个火狐浏览器的webdriver driver.get(url)用户打开固定的网址 实例如下: self.driver = we ...

  6. python+selenium—无弹窗驱动浏览器(无头浏览器)

    Python+selenium-实现无弹窗驱动浏览器(无头浏览器) import time from selenium import webdriverclass Driver:# 获取驱动def g ...

  7. python——selenium框架实现无头浏览器访问 + 规避检测配置

    备注: 有的时候,我们希望,selenium访问的时候,不要出现浏览器, 那么就需要进行配置.具体配置看代码. 运行代码 # !/user/bin/env python # -*- coding: u ...

  8. Python selenium自动化操作Chrome浏览器

    ​ ​ 活动地址:CSDN21天学习挑战赛 文章目录 一.Selenium搭建环境 1.安装 2.安装Chrome安装浏览器驱动WebDriver 1)查看Chrome浏览器版本 2)在驱动器版本里选 ...

  9. Python + Selenium: 使用webdriver判断浏览器是否关闭

    在使用Selenium的过程中,偶然发现浏览器意外关闭导致意料之外的错误发生.比如重复启动浏览器.在无界面headless模式下,因为目前流行的浏览器是多进程的,这是很难发现的.在浑然不知的情况下,多 ...

  10. python selenium 实现在火狐浏览器上下载文件(涉及firefox下载文件相关的配置)

    在这个案例中最重要也是我花了主要精力解决的问题就是火狐浏览器下载文件时会自动弹出下载弹框的这个问题. 解决这个问题可以参照以下步骤(本次案例中要下载的文件格式为dotx文件,如果有其他格式的文件要修改 ...

最新文章

  1. Printed Exception strings - what do all those flags mean?(转)
  2. Java学习之if---elif语句
  3. De1CTF-2019部分wp
  4. python观察日志(part4)--字符串拼接方式
  5. SQLite在指定列后面插入字段_个人学习系列 - 防止MySQL重复插入数据
  6. 人脸方向学习(十七):Face Detection-论文整理-解读
  7. java 二分_java二分查找算法
  8. 使用超级鹰模拟登录验证码报错的解决办法
  9. hdu 4585 Shaolin两种方法(暴力和STL map set)
  10. 多目标应用:基于MOGWO的地铁隧道上方基坑工程优化设计(提供MATLAB代码)
  11. 新《葫芦兄弟》被批毁童年,如果这样拍必然好看一百倍!
  12. ts-学习类型-class
  13. Windows系统提示“telnet不是内部或外部命令,也不是可运行的程序或批处理文件”怎么办
  14. 算法设计-递归法解最长公共子序列问题 C代码
  15. 服务器看门狗硬件,软件看门狗和硬件看门狗的作用和区别
  16. PCL点云边界特征检测 (附完整代码 C++)
  17. iOS 11中tableView下移问题
  18. python批量循环图片识别_python如何进行批量图片处理
  19. c++实现医院检验科排班程序
  20. {题解}[jzoj1298]牛棚(graze2.pas/c/cpp)

热门文章

  1. 10个调试和排错的小建议
  2. 路由器工作模式Classless与Classful实验分析
  3. 【转载】程序员面对下列技术问题,如何做决策
  4. TX2不支持TensorRT INT8,int8 官方参考
  5. Zara精讲C#.Cache、它和Redis区别是什么???
  6. 如何在Win10上配置JDK1.8
  7. codevs——1230 元素查找
  8. 记一篇使用iframe需要翻阅的帖子
  9. osi七层模型 与Linux的一些常用命令和权限管理 继承上篇
  10. v97fp5后, load问题诊断方法增强.