为了账号安全,请及时绑定邮箱和手机立即绑定

python+selenium如何获取元素中并列的属性值?

/ 猿问

python+selenium如何获取元素中并列的属性值?

慕的地6264312 2019-04-03 11:07:14

python+selenium如何获取元素中并列的属性值


查看完整描述

3 回答

?
largeQ

element = driver.find_element_by_xpath("//*[@id='lobby-left-container']/div[2]/div/table/tbody/tr[1]/td[2]/div")

data_id = element.get_attribute("data-id")

查看完整回答
反对 回复 2019-04-09
?
桃花长相依

获取标签内容
使用element.attribute()方法获取dom元素的内容,如:

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('h3').value_of_css_property('font') #获取h3的CSS属性font的属性值

获取标签状态

是否显示:使用element.is_displayed()方法

是否存在:使用find_element_by_xxx()方法,捕获其抛出的异常, 如果存在异常的话则可以确定该元素不存在
text_field=dr.find_element_by_name('user').is_enabled()
#直接用element.is_enabled()方法判断button,返回值为true,因为button是使用CSS方法判断是否有效这并不是真正的方法,需要判断其class中是否有值为disabled来判断是否真正处于disabled的状态
dr.find_element_by_class_name('btn').is_enabled()

是否被选中:一般判断表单元素,如radio或checkbox是否被选中,使用element.is_selected()方法
radio.is_selected() #判断是否被选中
try:
dr.find_element_by_id('none')
except:
print 'element does not exist'

是否有效:即是否为灰化状态,使用element.is_enabled()状态

print text_field.is_displayed() #判断是否显示



查看完整回答
反对 回复 2019-04-09
?
慕斯709654

有时候,什么定位元素的方法都试过了,还是定位不到元素,就考虑frame切换问题 driver.switchTo().frame("定位到的frame元素"); //接下来就可以在这个frame框架内定位该框架里的元素了 driver.findElement(By.name("message")).sendKeys("top"); //如果定位另一框架内元素,需返回到web页面,再进行切换 driver.switchTo().defaultContent(); driver.switchTo().frame("要定位的frame元素");

查看完整回答
反对 回复 2019-04-09

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信