当前位置:首页 » 编程语言 » pythonseleniumie

pythonseleniumie

发布时间: 2023-03-28 08:09:15

‘壹’ python+Selenium:IE11,sendkeys执行时不能输入设置的内容

1、检查 IE驱动
种不是代码错的,看一下你的IE 驱动器和你现在IE的版本 是不是对应的。尽管不对应也能启动浏览器的。
2、你试试在sendkeys之前time.sleep(3)让它等3秒。

‘贰’ python selenium如何获取下一页的html网页源码

一开始,升谈基本上很多人都是用selenium IDE录制脚本开始的,我也是!有一本书写得很不错:selenium初学者指南!So,从录制回放开始我的selenium,而在这个过程中,不断地去补充我的html css知识,熟悉selenium的api!

慢慢地,发现录制的脚本在回放的时候经常报错,通过检查发现,是定位上的错误,导致这种定位的错误的最大原因是系统前端采用了某种框架,如tigerUI,exj....所以HTML里面的标签很多都是动态的,比如id,class,name!这对selenium操作定位的元素而进行自动化来说是致命伤!

所以,开始自己写定位信息,这已经是必须的了!从而学习了xpth和css选择器,掌握了更加有效,快速和稳定地定位页面上的元素(定位的时候难免会碰到有iframe,这就得先切换到iframe中再进行定位了)!也就是,在selenium IDE上写脚本!

信心满拆好满地在selenium IDE上写了长长地一段脚本,并且反复跑都能成功!总算尝到了一点点幸福的滋味!然后呢,问题来了,当我要修改和扩展吵御碰这段的脚本的时候,才发现这效率是相当地低!一句句查!一句句改!多么痛的领悟!

另外,selenium IDE 默认启动的是火狐,在使用selenium RC 启动 IE 进行跑脚本时浏览器总是会报错!各种搞不定,各种不淡定!决定放弃使用IDE!

selenium有一个强大之处就是支持多种语方:java,C#,python等等,并且可以把录制的脚本转换成代码!我用的是java,果断走起!

不用说,当然是把脚本转为java代码了,在E www.hbbz08.com clipse中重新开始搞!

选择一个测试框架:有Junit和TestNg两个选择,公司用的是junit,所以,不用多说,我就用junit验证selenium脚本的运行结果!并且,Junit和TestNG都可以生成比较直观的测试报告!

写好一些代码,会看到整段代码中密密麻麻充斥着基本相同的代码:开始封装代码!把常用到API封装起来!封装好之后代码看着就舒服多了!

接下来,是不是也应该把代码中的定位信息用一个专门的文件放起来,再去读取里面的定位信息,这样,维护代码和维护定位信息就放在了两个地方,不用老是扎在代码和定位路径中,简单地分一下层!果断尝试!

‘叁’ python+selenium调用IE:打不开浏览器时的设置

1.在IE浏览器的  设置>internet选项>安全 下 ,将四个区域中启用保护模式的状态保持一致(全部取消勾选或者全部勾选),应用并确定。

2.禁用【高级】中的“启用增强保护模式”

3.设置浏览器缩放比例为100%。

4.若IE版本为11,则需要修改注册表:win+R-->regedit

操作系统为64位的key值为:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE

如果key值不存在,就添加。之后在key内部创建一个iexplorer.exe,DWORD类型,值为0,如下图所示:

5.之后selenium即可打开IE浏览器

‘肆’ python selenium+ie 如何定位js生成的元素

xpath定位,你用
chrome浏览器
,在页面上右键-》
审查元素
,然后会弹出开发者工具判高,里面会显示你选中部分的页面源码并
高亮
你选择的地方,在源码枣瞎里右键,选择
xpath
用凳冲空这个定位

‘伍’ python selenium的文件下载在chrome、IE下如何设置并实现

设置下载目录:

fromseleniumimportwebdriver

chromedriver="/usr/bin/chromedriver"

chromeOptions=webdriver.ChromeOptions()
prefs={"download.default_directory":"/path/download"}
chromeOptions.add_experimental_option("prefs",prefs)

driver=webdriver.Chrome(executable_path=chromedriver,chrome_options=chromeOptions)

设置代理:

fromseleniumimportwebdriver

PROXY="23.23.23.23:3128"#IP:PORTorHOST:PORT

chrome_options=webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=http://%s'%PROXY)

chrome=webdriver.Chrome(chrome_options=chrome_options)
chrome.get("明或亏http://whatismyipaddress.com")

IE的也差不多。


如果解决激神了您团族的问题请采纳!
如果未解决请继续追问

‘陆’ python selenium怎么配置IE和chrome的代理,求代码

请参考这个代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import print_function

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

def create_proxyauth_extension(proxy_host, proxy_port,
proxy_username, proxy_password,
scheme='http', plugin_path=None):
"""Proxy Auth Extension

args:
proxy_host (str): domain or ip address, ie proxy.domain.com
proxy_port (int): port
proxy_username (str): auth username
proxy_password (str): auth password
kwargs:
scheme (str): proxy scheme, default http
plugin_path (str): absolute path of the extension

return str -> plugin_path
"""
import string
import zipfile

if plugin_path is None:
plugin_path = '/tmp/vimm_chrome_proxyauth_plugin.zip'

manifest_json = """
{
"version": "1.0.0",
"manifest_version": 2,
"name": "Chrome Proxy",
"permissions": [
"proxy",
"tabs",
"unlimitedStorage",
"storage",
"<all_urls>",
"webRequest",
"webRequestBlocking"
],
"background"首段腊: {
"scripts": ["background.js"]
},
"minimum_chrome_version":"22.0.0"
}
"""

background_js = string.Template(
"""
var config = {
mode: "fixed_servers",
rules: {
singleProxy: {
scheme: "${scheme}",
host: "${host}",
port: parseInt(${port})
},
bypassList: ["foobar.com"]
}
};

chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});

function callbackFn(details) {
return {
authCredentials: {
username: "者滑${username}",
password: "${password}"
}
};
}

chrome.webRequest.onAuthRequired.addListener(
callbackFn,
{urls: ["<all_urls>"]},
['blocking']
);
""燃返"
).substitute(
host=proxy_host,
port=proxy_port,
username=proxy_username,
password=proxy_password,
scheme=scheme,
)
with zipfile.ZipFile(plugin_path, 'w') as zp:
zp.writestr("manifest.json", manifest_json)
zp.writestr("background.js", background_js)

return plugin_path

proxyauth_plugin_path = create_proxyauth_extension(
proxy_host="proxy.crawlera.com",
proxy_port=8010,
proxy_username="",
proxy_password=""
)

co = Options()
co.add_argument("--start-maximized")
co.add_extension(proxyauth_plugin_path)

driver = webdriver.Chrome(chrome_options=co)
driver.get("wser.org/")

‘柒’ python+selenium 怎么判断浏览器类型

很奇怪你为什么要问这个问题,你用selenium的话,你肯定预先知道用的是什么浏览器,因为不同的浏览器,调用的方法都不一样

#coding=utf-8
'''
Createdon2014-11-10

@author:Neo
'''
fromseleniumimportwebdriver
importos

defopenBrowser():
仔蠢chromedriver="C:.exe"
ifnotos.path.exists(chromedriver):
chromedriver='纤春C:.exe'
os.environ["webdriver.chrome.driver"]=chromedriver
browser1=webdriver.Chrome(chromedriver)
browser2=webdriver.Firefox()

returnbrowser1,browser2

defcloseBrowser(browser):
browser.close()
cmd='taskkill/F/IMchromedriver.exe'
os.system(cmd)

b1,b2=openBrowser()
printb1,b2
closeBrowser(b1)
b2.close()

如上面的,chrome和Firefox 完全不一样的

当然结果print出来也能看得出用的是 什么浏览器

<selenium.webdriver.chrome.webdriver.WebDriver object at 0x028536F0> <selenium.webdriver.firefox.webdriver.WebDriver object at 0x02853750>念竖陪

‘捌’ Selenium 和python是啥关系是否相关参考文档

Selenium是一个软件测试工具; python是一种面向对象、直译式计算机程序设计语言.
Selenium分成Selenium IDE, Selenium RC (Remote Control), 和Selenium Grid. 他们都是基于Selenium Core的. 这里给你说说Selenium IDE和RC吧. Selenium IDE是Firefox的一个插件, 它可以录制一系列的过程(比如google中输入一个单词, 点搜索按钮,...,). Selenium IDE可以把这个过程录制号, 并且转化成多种语言, 比如:Java, C#, Perl, PHP, Python,等等吧.

那么这时候我们就可以这些语言对应的编译器(比如Java我们用ECLIPSE; C#用Visual Studio)把从Selenium IDE经过录制, 得到并转化好的程序代码在这些编译器里运行, 运行的时候, 程序会调用Selenium RC来实现对刚才这段过程录制的远程操作 (可以控制打开一个firefox或者IE的浏览器进行回放, 也就是测试的过程.

简单地说就是 Selenium可以用python语言来调用它(Selenium RC)进行测试.

不知道我说明白了没有.

热点内容
新建文件夹命令按钮 发布:2024-11-02 22:32:09 浏览:570
给首付解压 发布:2024-11-02 22:24:01 浏览:51
活春文件夹 发布:2024-11-02 22:22:18 浏览:144
pythonlist参数传递 发布:2024-11-02 22:18:57 浏览:598
林肯冒险家买哪个配置人多 发布:2024-11-02 22:14:34 浏览:542
马铃薯存储 发布:2024-11-02 22:09:21 浏览:362
android的title居中 发布:2024-11-02 21:59:53 浏览:876
orchard源码 发布:2024-11-02 21:51:20 浏览:940
ntp服务器地址修改 发布:2024-11-02 21:31:46 浏览:818
c打开文件夹选中文件 发布:2024-11-02 21:31:12 浏览:600