from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.common.keys import Keys
import time
def addAttribute(driver,elementObj,attributeName,value):
driver.execute_script("arguments[0].%s=arguments[1]" %attributeName,elementObj,value)
def setAttribute(driver,elementObj,attributeName,value):
driver.execute_script("arguments[0].setAttribute(arguments[1],arguments[2])",elementObj,attributeName,value)
def getAttribute(elementObj,attributeName):
return elementObj.get_attribute(attributeName)
def removeAttribute(driver,elementObj,attributeName):
driver.execute_script("arguments[0].removeAttribute(arguments[1])",elementObj,attributeName)
driver=webdriver.Chrome()
url='http://127.0.0.1/test_change_attr.html'
driver.get(url)
time.sleep(2)
element=driver.find_element_by_xpath('//input')
addAttribute(driver,element,'name','search')
time.sleep(2)
setAttribute(driver,element,'value','abcde')
time.sleep(2)
setAttribute(driver,element,'size',20)
time.sleep(2)
removeAttribute(driver,element,'value')
time.sleep(2)
driver.quit()
from selenium import webdriverfrom selenium.common.exceptions import WebDriverExceptionfrom selenium.webdriver.common.keys import Keysimport timedef addAttribute(driver,elementObj,attributeName,value): #给元素新增属性,driver浏览器,elementObj元素,attributeName
dr = driver.find_element_by_id('tooltip')
dr.get_attribute('data-original-title') #获取tooltip的内容
dr.text #获取该链接的text
获取标签属性
link=dr.find_element_by_id('tooltip')
link.value_of_css_property('color') #获取tooltip的CSS属性color的属性值
link.find_element_by_tag_name(
lst = driver.find_elements_by_class_name(ib-it-text)
for lst in lst:
lst = lst.get_attribute(href)
print(lst.get_attribute(href))
以上这篇Python+selenium 获取一组元素属性值的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:python selenium 获取标签的属性值、内容、状态方法学习Py
通过selenium定位元素时,有时候迫不得已需要对一些标签进行修改操作,如删除,修改它的值之类的。
前段时间遇到一个问题,关于下拉框元素动态加载,从而导致无法定位的问题。
问题and回答:????:
# 定位到下拉框
inputs_selcet = driver.find_elements_by_css_selector(".ant-select")
# 展开元素,使后面可以定位到它
inputs_selcet[1].click()
# 定位到下拉框的所有元素
meeting_div = driver.f
入行以来,经常会遇到有人问我,这个“元素怎么定位?”、‘这个元素我怎么定位不到?’、‘为什么不存在与页面中?’….等等关于页面页面元素的定位问题。So,授人以鱼不如授人以渔,今天我就和大家商讨一下关于页面元素定位的思路。(重点在后面的黑科技)
PS:如有不对的地方请指出(不经常上线,有可...
selenium web driver 使用JS修改input属性
selenium获取input时候,发现type=”hidden” 的input无法修改value,经牛人指点,可以使用js修改
首先html源文件如下,设置为text 、hidden、submit
1 html>
2 head>
3 title>this is a test title>
4 scrip
web自动化测试框架-----Selenium大揭秘
相信搞过Python的人绝大部分都会一点点爬虫技能,但是很多时候爬虫也不是万能的,这个时候就需要我们的自动化测试框架了,于是Selenium就应运而生了,它可以算的上是自动化测试框架中的佼佼者,因为它解决了大多数用来爬取页面的模块的一个永远的痛,那就是Ajax异步加载,今天小编就带大家来好好了解下这个Selenium 。
一、安装与导入
这里我们需要安装三个东西,一个是Selenium框架,还有一个浏览器,最后就是驱动。这里小编选择了谷歌浏览器,下
做自动化过程中,会发现有的按钮点击不了,或者点击没有反应,也没有报错,或者不能处理滚动条等场景,我们可以通过JavaScript定位来解决这些问题。
以下总结了5种JavaScript定位的方法,除了id是定位到单个element元素对象,其它的都是elements返回的是list对象。
1.通过id获取
document.getElementById(“id”)
2.通过name获取
document.getElementsByName(“Name”)
3.通过标签名选取元素
docume
通过元素的 style 属性来设置样式;元素对象的 style 属性也是一个对象,可以通过 . 的方式来设置或修改样式。
元素对象.style.样式属性 = 属性值
通过该方式操作样式时,样式属性要使用驼峰命名法。
通过该方式产生的样式是行内样式,权重比较高。
<div>div标签</div>
// 获取元素
let el = document.querySelector('div');
// 设置样式
el.style
做过web测试的小伙伴们都知道,web元素现在很多是JS写的,那么既然是JS写的,可以通过JS语言去操作页面,来帮助我们操作一些selenium不能覆盖的功能。问题来了我们能否通过JS来定位元素呢?问题又来了selenium中如何调用JS语法呢?
调用JS语法
调用JS语法需要用到selenium中的方法 execute_script() ,参数直接填写JS语法。
def execute_script(self, script, *args):
前面我们看到了根据 id、class属性、tag名 选择元素。
如果我们要选择的 元素 没有id、class 属性, 这时候我们通常可以通过 CSS selector 语法选择元素。
CSS Selector 语法选择元素
HTML中经常要 为 某些元素 指定显示风格,比如 前景文字颜色是红色, 背景颜色是黑色, 字体是微软雅黑等。
那么CS...
在 Python 中获取页面隐藏元素需要使用 Web 自动化测试框架,比如 Selenium。以下是获取页面隐藏元素的基本步骤:
1. 安装 Selenium:使用 pip 命令安装 Selenium。
2. 下载浏览器驱动:Selenium 需要浏览器驱动来模拟用户行为,因此需要下载对应浏览器的驱动。
3. 创建 WebDriver 对象:使用 Selenium 创建 WebDriver 对象,选择对应的浏览器和驱动。
4. 访问页面:使用 WebDriver 对象访问需要获取隐藏元素的页面。
5. 查找元素:使用 WebDriver 对象的查找元素方法查找隐藏元素。
6. 获取元素属性:使用查找到的元素对象的 get_attribute() 方法获取元素属性,例如 value、text 等。
需要注意的是,某些隐藏元素可能是动态生成的,需要等待一定时间或者执行一定的操作才能出现,此时可以使用 WebDriver 对象的等待方法或者执行 JavaScript 代码来实现。