python Selenium 相关参数配置

selenium.获取浏览器大小、设置浏览器位置、最大化浏览器

get_window_size()     获取浏览器大小

# 将窗口大小实例化
size_Dict = driver.get_window_size()
# 打印浏览器的宽和高
print("当前浏览器的宽:", size_Dict[‘width‘])
print("当前浏览器的高:", size_Dict[‘height‘])

set_window_size()     设置浏览器大小

driver.set_window_size(width=500, height=500, windowHandle="current")

get_window_position()    获取浏览器在屏幕上的坐标

# 将窗口位置实例化
position = driver.get_window_position()
# 打印窗口坐标
print(position)
print("浏览器所在位置的横坐标:", position["x"])
print("浏览器所在位置的纵坐标:", position["y"])

set_window_position()    设置浏览器在屏幕的位置

# 设置窗口位置并打印位置坐标
driver.set_window_position(x=100, y=200)
print(driver.get_window_position())

maximize_window()    最大化浏览器

# 最大化浏览器并输出浏览器的大小和位置坐标
driver.maximize_window()
print(driver.get_window_size())
print(driver.get_window_position())

Selenium中的“显式等待”和“隐式等待”

显式等待(常用)

显式等待的代码定义了等待条件,只有该条件触发,才执行后续代码。下面代码最多等待 10 秒,超时后就抛出 TimeoutException。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Firefox()driver.get("http://somedomain/url_that_delays_loading")
try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "myDynamicElement")))
finally:
    # 等待后执行的代码
    # driver.quit()

隐式等待

隐式等待是在尝试发现某个元素的时候,如果没能立刻发现,就等待固定长度的时间。默认设置是0秒。一旦设置了隐式等待时间,它的作用范围就是Webdriver对象实例的整个生命周期。

from selenium import webdriver

driver = webdriver.Firefox()
driver.implicitly_wait(10) # seconds
driver.get("http://somedomain/url_that_delays_loading")
myDynamicElement = driver.find_element_by_id("myDynamicElement")

Selenium+Chrome参数配置

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 实例化一个启动参数对象
chrome_options = Options()
# 无界面运行(无窗口)
chrome_options.add_argument(‘--headless‘)
# 启动浏览器
driver = webdriver.Chrome(chrome_options=chrome_options)
# 请求百度首页
driver.get(‘http://www.baidu.com‘)

其中的 –headless 就是一个启动项参数

常用的启动项参数如下所示

–user-data-dir=”[PATH]” 指定用户文件夹User Data路径,可以把书签这样的用户数据保存在系统分区以外的分区。
–disk-cache-dir=”[PATH]“ 指定缓存Cache路径
–disk-cache-size= 指定Cache大小,单位Byte
–first run 重置到初始状态,第一次运行
–incognito 隐身模式启动
–disable-javascript 禁用Javascript
–omnibox-popup-count=”num” 将地址栏弹出的提示菜单数量改为num个。我都改为15个了。
–user-agent=”xxxxxxxx” 修改HTTP请求头部的Agent字符串,可以通过about:version页面查看修改效果
–disable-plugins 禁止加载所有插件,可以增加速度。可以通过about:plugins页面查看效果
–disable-javascript 禁用JavaScript,如果觉得速度慢在加上这个
–disable-java 禁用java
–start-maximized 启动就最大化
–no-sandbox 取消沙盒模式
–single-process 单进程运行
–process-per-tab 每个标签使用单独进程
–process-per-site 每个站点使用单独进程
–in-process-plugins 插件不启用单独进程
–disable-popup-blocking 禁用弹出拦截
–disable-plugins 禁用插件
–disable-images 禁用图像
–enable-udd-profiles 启用账户切换菜单
–proxy-pac-url 使用pac代理 [via 1/2]
–lang=zh-CN 设置语言为简体中文
–disk-cache-dir 自定义缓存目录
–disk-cache-size 自定义缓存最大值(单位byte)
–media-cache-size 自定义多媒体缓存最大值(单位byte)
–bookmark-menu 在工具 栏增加一个书签按钮
–enable-sync 启用书签同步
–single-process 单进程运行Google Chrome
–start-maximized 启动Google Chrome就最大化
–disable-java 禁止Java

Selenium+Chrome模拟移动设备

# 通过设置user-agent,用来模拟移动设备
# 比如模拟 android QQ浏览器
options.add_argument(‘user-agent="MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"‘)

# 模拟iPhone 6
options.add_argument(‘user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"‘)

Selenium+Chrome禁止图片加载的参数配置

# 禁止图片的加载
from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options.add_experimental_option("prefs", prefs)

原文地址:https://www.cnblogs.com/yoyowin/p/12208277.html

时间: 2024-10-02 18:43:56

python Selenium 相关参数配置的相关文章

自动化测试学习笔记1——Python + Selenium自动化测试环境配置

Python + Selenium自动化测试环境配置(Windows平台) 准备工具: 下载python    http://python.org/getit/ 下载setuptools http://pypi.python.org/pypi/setuptools 下载pip https://pypi.python.org/pypi/pip 下载selenium   https://pypi.python.org/pypi/selenium 下载selenium服务端 https://code.

Python selenium chrome 环境配置

Python selenium chrome 环境配置 一.参考文章: 1. 记录一下python easy_install和pip安装地址和方法 http://heipark.iteye.com/blog/1916758 2. selenium + python自动化测试环境搭建 http://www.cnblogs.com/fnng/archive/2013/05/29/3106515.html 3. Python-selenium-Firefox-chrome-IE问题解决方法 http:

Spark 性能相关参数配置详解-shuffle篇

作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 在Spark的官方文档http://spark.apache.org/docs/latest/configuration.html 中提供了这些可配置参数中相当大一部分的说明. 但是文档的更新总是落后于代码的开发的, 还有一些配置参数没有来得及被添加到

Yarn 内存分配管理机制及相关参数配置

理解Yarn的内存管理与分配机制,对于我们搭建.部署集群,开发维护应用都是尤为重要的,对于这方面我做了一些调研供大家参考. 一.相关配置情况 关于Yarn内存分配与管理,主要涉及到了ResourceManage.ApplicationMatser.NodeManager这几个概念,相关的优化也要紧紧围绕着这几方面来开展.这里还有一个Container的概念,现在可以先把它理解为运行map/reduce task的容器,后面有详细介绍. 1.1  RM的内存资源配置, 配置的是资源调度相关 RM1

python+selenium自动化环境配置及使用实例

一.搭建环境相关地址以及相关模块下载地址 1.#各个浏览器驱动下载地址: https://www.cnblogs.com/nancyzhu/p/8589764.html 2.#sublime+python+selenium自动化配置教程: http://python.tedu.cn/know/289803.html 3.#html测试报告: https://github.com/defnngj/HTMLTestRunner         http://www.testpub.cn/t/213

Spark 性能相关参数配置详解-任务调度篇

随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇幅较长,所以在这里分篇组织,如果要看最新完整的网页版内容,可以戳这里:http://spark-config.readthedocs.org/,主要是便于更新内容 schedule调度相关 调度相关的参数设置,大多数内容都很直白,其实无须过多的额外解释,不过基于这些参数的常用性(大概会是你针对自己的

JVM相关参数配置和问题诊断<转>

原文连接:http://blog.csdn.net/chjttony/article/details/6240457 1.Websphere JVM相关问题诊断: 由JVM引起的Websphere问题主要有应用服务器宕机和性能下降,JVM相关问题的特征如下: (1).Websphere应用服务器停止响应: a.Websphere服务器宕机. b.Websphere进程挂起. c.JVM内存溢出. (2).性能下降: JVM进程号(process Id)不停地改变. 2.诊断JVM相关问题所需文件

Spark 性能相关参数配置详解-压缩与序列化篇

随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇幅较长,所以在这里分篇组织,如果要看最新完整的网页版内容,可以戳这里:http://spark-config.readthedocs.org/,主要是便于更新内容 压缩和序列化相关 spark.serializer 默认为org.apache.spark.serializer.JavaSeriali

YARN日志聚合相关参数配置

日志聚合是YARN提供的日志中央化管理功能,它能将运行完成的Container/任务日志上传到HDFS上,从而减轻NodeManager负载,且提供一个中央化存储和分析机制.默认情况下,Container/任务日志存在在各个NodeManager上,如果启用日志聚合功能需要额外的配置. 参数配置yarn-site.xml 1.yarn.log-aggregation-enable 参数说明:是否启用日志聚合功能,日志聚合开启后保存到HDFS上. 默认值:false 2.yarn.log-aggr