selenium的webElement核心方法和属性

本文介绍了如何使用Selenium WebDriver定位网页元素并操作这些元素。详细解释了WebElement对象的属性及方法,包括获取元素ID、标签名、尺寸等核心属性,以及send_keys、clear等常用方法。此外还展示了如何通过已定位的元素进一步查找子元素。
摘要由CSDN通过智能技术生成

1.核心属性

在使用 webDriver 的find方法定位到元素后,会返回一个 webElement对象,该对象用来描述web页面上的一个元素
在这里插入图片描述

from selenium import webdriver
from time import sleep

class TestElement01(object):
    def __init__(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://sahitest.com/demo/linkTest.htm')

    def test_webelement_prop(self):
        e = self.driver.find_element_by_id('t1')
        e1 = WebElement;
        print(type(e))
        print(e.id)
        print(e.tag_name)
        print(e.size)
        print(e.rect)
        print(e.text)

if __name__ == '__main__':
    case = TestElement01()
   case.test_webelement_prop()

返回的结果如下:
在这里插入图片描述

2.核心方法

在这里插入图片描述
代码如下所示:

from selenium import webdriver
from time import sleep

class TestElement01(object):
    def __init__(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.baidu.com')

    def test_webelement_prop(self):
        e = self.driver.find_element_by_id('kw')

        print(type(e))
        print(e.id)
        print(e.tag_name)
        print(e.size)
        print(e.rect)
        print(e.text)

    def test_webelement_method(self):
        e = self.driver.find_element_by_id('kw')
        e.send_keys('hello world')

        sleep(2)

        print(e.get_attribute('type'))
        print(e.get_attribute('name'))
        print(e.get_attribute('value'))

        print(e.value_of_css_property('font'))
        print(e.value_of_css_property('color'))

        sleep(2)
        e.clear()


if __name__ == '__main__':
    case = TestElement01()
    #case.test_webelement_prop()
    case.test_webelement_method()

通过查看源码可知:webElement也有find方法,比如先获取一个form表单的webElement,再通过find方法找到其他元素,代码如下所示:在这里插入图片描述

from selenium import webdriver
from time import sleep

class TestElement02(object):
    def __init__(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.baidu.com')

     def test_method2(self):
        form_element = self.driver.find_element_by_xpath('//*[@id="form"]')
        form_element.find_element_by_id('kw').send_keys('bala')

if __name__ == '__main__':
    case = TestElement02()
    case.test_method2()
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远不要矫情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值