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秒最大時長。
今天實現了學生自動進入直播間。