0


Selenium——获取元素和操纵元素的方法

1、获取元素的方法

1、通过id获取

element = wd.find_element(By.ID,"id")

2、通过classname获取

elements = wd.find_elements_by_class_name("plant")for element in elements:print(element.text)

3、通过tagname获取元素

elements = wd.find_elements_by_tag_name("span")for element in elements:print(element.text)

find_element 和 find_elements 的区别

使用

find_elements

选择的是符合条件的

所有

元素, 如果没有符合条件的元素,

返回空列表

使用

find_element

选择的是符合条件的

第一个

元素, 如果没有符合条件的元素,

抛出 NoSuchElementException 异常

4、通过WebElement对象选择元素

WebDriver 对象选择元素的范围是整个web页面,而WebElement对象选择元素的范围是该元素的内部。

element = wd.find_element(By.ID,"container")
elements = element.find_elements(By.TAG_NAME,"span")

等待元素出现:wd.implicitly_wait(10)

from selenium import webdriver
from selenium.webdriver.common.by import By

wd = webdriver.Chrome()#控制器
wd.implicitly_wait(10)# 等待元素出现
wd.get("https://www.byhy.net/_files/stock1.html")

insert_element = wd.find_element(By.ID,"kw")#搜索框
insert_element.send_keys("四川")#在搜索框中输入元素
submit_element = wd.find_element(By.ID,"go")# 查询按钮
submit_element.click()#点击查询

element = wd.find_element(By.ID,"1")#在查询结果中查找id为1的元素print(element.text)
2、操控元素的方法

1、输入操作

element.clear()# 清除输入框中的元素
element.send_keys()

2、获取文本信息

print(element.text)

3、点击操作

element.click()

4、获取元素属性

在这里插入图片描述

element = wd.find_element(By.ID,'input_name')print(element.get_attribute('placeholder'))

5、获取整个元素对应的HTML

要获取整个元素对应的HTML文本内容,可以使用 element.get_attribute('outerHTML')
如果只是想获取某个元素内部的HTML文本内容,可以使用 element.get_attribute('innerHTML')

6、获取输入框里面的文字

element.get_attribute('value')

7、获取元素文本内容2

通过WebElement对象的

text

属性,可以获取元素

展示在界面上的

文本内容。

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

出现这种情况,可以尝试使用

element.get_attribute('innerText')

,或者

element.get_attribute('textContent')

使用 innerText 和 textContent 的区别是,前者只显示元素可见文本内容,后者显示所有内容(包括display属性为none的部分)


本文转载自: https://blog.csdn.net/qq_46137895/article/details/138531469
版权归原作者 CherriesOvO 所有, 如有侵权,请联系我们删除。

“Selenium——获取元素和操纵元素的方法”的评论:

还没有评论