0


Selenium教程(1)选择和查找基本元素

目录


Selenium教程(1)选择和查找基本元素

Selenium教程(2)CSS元素操作

Selenium教程(3)IFrame切换/窗口切换

Selenium教程(4)操作选择框

1.元素选择


(1)根据id选择(id必须唯一的

  1. # 根据id选择元素,返回的就是该元素对应的WebElement对象,对象可操作页面元素
  2. element = driver.find_element(By.ID, 'id_value')
  3. # 通过该 WebElement对象,就可以对页面元素进行操作了
  4. element.send_keys('通讯\n')

(2)根据class属性

  1. #因为类名可能不唯一,查找所有元素;否则element只返回第一个
  2. driver.find_elements(By.CLASS_NAME, 'animal')
  3. for element in elements:
  4. print(element.text)

【多class属性解决方式】

    1. 注意: **若****有两个class属性,****分别是 chinese student,而不是****chinese student属性**

** **

    1. 解决:指定任意一个class 属性值

(3)根据tag名选择

  1. 如<input xx>标签,inputtag

(4)根据xpath选择

  1. 有很多xpath提取工具,了解下即可

(5)通过WebElement对象选择元素内部子元素

  1. element = wd.find_element(By.ID,'container')
  2. # 限制选择元素的范围是 id 为container元素的内部。
  3. spans = element.find_elements(By.TAG_NAME, 'span')
  4. for span in spans:
  5. print(span.text)

(6)显示等待和隐式等待

    1. 显式:WebDriverWait(dr,10,1,NoSuchElementException).until(lambda dr: dr.find_element_by_id("kw"),message='没有此元素,超时!') 。# **WebDriverWait(dr,10)的意思是10秒内每隔0.5秒扫描1次页面变化,直到出现指定的元素后结束,否则抛出异常。**
    1. 隐式:同上每0.5s扫描超时异常。不同的是, **隐式在全局起作用,即直到退出都要自动完成**。 **缺点不适合ajax局部加载 (一直判断找不到重新扫描),一般用于判断登录是否成功。**

  • try-except:有时候显示和隐式都无法解决时候,直接用异常包围处理逻辑,例如js

(7)判断元素存在解决方法

  1. try-except
  2. elment.is_XXX(); //判断是否存在
  3. 隐式/显示等待元素出现: 如果找不到元素, 每隔半秒 再去界面上查看一次, 直到找到该元素,或过了最大时长(10秒)

(8)selenium 4版本更新变化

2.元素操作


(1)输入框输入和清除操作

注输入框内文字无法通过text获取,见(2)

(2)获取元素属性

①获取元素文本信息(展示在页面的内容)

    1. text方法 **(√推荐)**

    1. get_attribute('innerText')或 get_attribute('textContent') - get_attribute('innerText')= js里面的 element.value,只显示 **元素可见文本内容**- get_attribute('innerText')= js里面的 element.innerText,显示 **所有内容(包括display属性为none的部分)**

②get_attibute('tag_name') 获取元素标签内属性

③获取整个元素对应html语法

    1. 获取整个元素对应html语法: element.get_attribute(' **outerHTML**')
    1. 获取内部html语法: element.get_attribute( **'innerHTML**')

④获取输入框


本文转载自: https://blog.csdn.net/qq_35494772/article/details/127565058
版权归原作者 Bro大表哥 所有, 如有侵权,请联系我们删除。

“Selenium教程(1)选择和查找基本元素”的评论:

还没有评论