1.根据元素id属性选择元素
mobile = driver.find_element_by_id('mobile')
2.根据class属性选择元素
login = driver.find_element_by_class_name('main_btn')
find_elements_by_class_name找不到元素的可能原因:class的名称里面不能有空格,空格换成点即可。
course = driver.find_elements_by_class_name('Schedule-course-btn.red')[0]
3.根据tag名选择元素
tags = driver.find_elements_by_tag_name('div')
4.find_element 和 find_elements 的区别
使用 find_elements 选择的是符合条件的 所有 元素, 如果没有符合条件的元素, 返回空列表
使用 find_element 选择的是符合条件的 第一个 元素, 如果没有符合条件的元素, 抛出 NoSuchElementException 异常
5.通过WebElement对象选择元素
WebDriver对象选择元素的范围是整个web页面, 而WebElement 对象选择元素的范围是该元素的内部。
6.等待界面元素出现
# 等待 2 秒
from time import sleep
sleep(2)
or
Selenium 的 Webdriver 对象 有个方法叫 implicitly_wait。后续所有的 find_element 或者 find_elements之类的方法调用都会采用此策略:如果找不到元素,每隔半秒钟再去界面上查看一次,直到找到该元素,或者过了10秒最大时长。
今天实现了学生自动进入直播间。