element 快捷键选择选择年代范围_selenium 基础-选择元素 - 小太阳Sinimy

1.选择元素的基本方法

  1.根据元素的ID属性选择元素:find_element_by_id

     根据id选择元素,返回的就是该元素对应的WebElement对象

element = ('kw')
('自动化测试')

  2.根据class名选择元素(class表示的是类别、属性):find_elements_by_class_name

from selenium import webdriver

# 创建 WebDriver 实例对象,指明使用chrome浏览器驱动
wd = ()

# WebDriver 实例对象的get方法 可以让浏览器打开指定网址
('')

# 根据 class name 选择元素,返回的是 一个列表
# 里面 都是class 属性值为 animal的元素对应的 WebElement对象
elements = ('animal')

# 取出列表中的每个 WebElement对象,打印出其text属性的值for element in elements:
    print()
# text属性就是该 WebElement对象对应的元素在网页中的文本内容

    find_element和find_elements的区别:

      使用 find_elements 选择的是符合条件的 所有 元素, 如果没有符合条件的元素, 返回空列表

      使用 find_element 选择的是符合条件的 第一个 元素, 如果没有符合条件的元素, 抛出 NoSuchElementException 异常

  3.根据tag名选择元素:find_elements_by_tag_name 

from selenium import webdriver

wd = ()

('')

# 根据 tag name 选择元素,返回的是 一个列表
# 里面 都是 tag 名为 div 的元素对应的 WebElement对象
elements = ('div')

# 取出列表中的每个 WebElement对象,打印出其text属性的值
# text属性就是该 WebElement对象对应的元素在网页中的文本内容for element in elements:
    print()

  4.根据WebElement对象选择元素

    WebElement对象 也可以调用 find_elements_by_xxx, find_element_by_xxx 之类的方法

    WebDriver 对象 选择元素的范围是 整个 web页面, 而

    WebElement 对象 选择元素的范围是 该元素的内部。

from selenium import webdriver

# 创建 WebDriver 实例对象,指明使用chrome浏览器驱动
wd = ()

# WebDriver 实例对象的get方法 可以让浏览器打开指定网址
('')

element = ('container')

# 限制 选择元素的范围是 id 为 container 元素的内部。
spans = ('span')
for span in spans:
    print()


执行结果:
内层11
内层12
内层21

   异常报错:NoSuchElementException 的意思就是在当前的网页上 找不到该元素, 就是找不到 id 为 1 的元素。

    c258c66f477aaa4efbe6b023a923eac8.png

2.等待界面元素出现

   implicitly_wait:当发现元素没有找到的时候, 并不 立即返回 找不到元素的错误。而是周期性(每隔半秒钟)重新寻找该元素,直到该元素找到,

   或者超出指定最大等待时长,这时才 抛出异常(如果是 find_elements 之类的方法, 则是返回空列表)

from selenium import webdriver

# 创建一个浏览器对象:调用Chromedriver服务,来生成一个浏览器
driver = ()
# 设置最大等待时间
(10)
# 访问一个url
('')
# 搜索流程的实现
# 输入搜索内容
element = ('kw')
('自动化测试')
# 点击百度一下按钮
('su').click()

# id为1的元素,就是第一个搜索结果
result = ('1')

print()

3.操控元素的基本方法:

  1.点击元素:调用元素WebElement对象的 click方法

  2.输入字符串:调用元素WebElement对象的send_keys方法

  3.获取元素包含的信息:

    1.获取元素的文本内容:通过WebElement对象的 text 属性,可以获取元素 展示在界面上的文本内容

element = ('animal')
print()

    2.获取元素属性:通过WebElement对象的 get_attribute 方法来获取元素的属性值

result = ('3001')
print(('cmatchid'))

    3.获取整个元素对应的HTML

      要获取整个元素对应的HTML文本内容,可以使用 ('outerHTML')

      只是想获取某个元素 内部 的HTML文本内容,可以使用 ('innerHTML')

    4.获取输入框里面的文字:

      对于input输入框的元素,要获取里面的输入文本,用text属性是不行的,这时可以使用 ('value')

    5.获取元素的文本内容2:

      有时候,元素的文本内容没有展示在界面上,或者没有完全完全展示在界面上。 这时,用WebElement对象的text属性,获取文本内容,就会有问题。

      出现这种情况,可以尝试使用 ('innerText') ,或者 ('textContent')

选择器

  通过 CSS Selector 选择单个元素的方法是:find_element_by_css_selector(CSS Selector参数)

  选择所有元素的方法是:find_elements_by_css_selector(CSS Selector参数)

  1.根据tag名选择元素:直接写上tag名即可

    比如 要选择 所有的tag名为div的元素,就可以是这样

    elements = ('div')

    等价于

    elements = ('div')

  2.根据id属性选择元素:在id号前面加上一个井号: #id值

from selenium import webdriver

# 创建一个浏览器对象:调用Chromedriver服务,来生成一个浏览器
driver = ()
# 设置最大等待时间
(10)

('')

elements = ('#searchtext')

for element in elements:
    print()

()

  3.根据class属性选择元素:在 class 值 前面加上一个点: .class值

from selenium import webdriver

# 创建一个浏览器对象:调用Chromedriver服务,来生成一个浏览器
driver = ()
# 设置最大等待时间
(10)

('')

#.animal意思是寻找class属性为为animal,'.'的意思是'值等于'
elements = ('.animal')

for element in elements:
    print()

()


执行结果:
狮子
老虎
山羊

  4.选择子元素和后代元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值