# 導包
from selenium import webdriver
import time
# 獲取 Chrome 瀏覽器的驅動
driver = webdriver.Chrome()
# 在 Chrome 瀏覽器中開啟百度頁面
driver.get("https://www.baidu.com/")
# 瀏覽器最大化
driver.maximize_window()
# 定位百度搜尋輸入框,然後輸入想要查詢的資訊
driver.find_element_by_css_selector("#kw").send_keys("我在他鄉挺好的")
# 定位搜尋按鈕,然後點選
driver.find_element_by_css_selector("#su").click()
# 頁面等待時間 8s
time.sleep(8)
# 關閉瀏覽器
driver.quit()
driver.find_element_by_id("kw").send_keys("肖戰")
driver.find_element_by_id("su").click()
driver.find_element_by_name("wd").send_keys("肖戰演員")
driver.find_element_by_id("su").click()
driver.find_element_by_class_name("s_ipt").send_keys("xiaozhan")
driver.find_element_by_class_name("bg s_btn").click()
driver.find_element_by_link_text("hao123").click()
driver.find_element_by_partial_link_text("新").click()
driver.find_element_by_tag_name("input").send_keys("陳情令")
driver.find_element_by_tag_name("input").click()
# 在貼上中,注意「 」 內是' ' ,需要修改
driver.find_element_by_xpath("//*[@id='kw']").send_keys("陳情令")
driver.find_element_by_xpath("//*[@id='su']").click()
driver.find_element_by_css_selector("#kw").send_keys("cql")
driver.find_element_by_css_selector("#su").click()
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
# 瀏覽器最大化
driver.maximize_window()
# 用 id 來定位 優先選擇 如果沒有,使用 xpath 也可以唯一定位
# driver.find_element_by_id("kw").send_keys("肖戰")
# driver.find_element_by_id("su").click()
# 用 name 來定位
# driver.find_element_by_name("wd").send_keys("肖戰演員")
# driver.find_element_by_id("su").click()
# 用 class name 來定位 不唯一,出錯
# driver.find_element_by_class_name("s_ipt").send_keys("xiaozhan")
# driver.find_element_by_class_name("bg s_btn").click()
# link text
# driver.find_element_by_link_text("hao123").click()
# 連結的文字內容 partial link text
# driver.find_element_by_partial_link_text("新").click()
# tag name 標籤 ElementNotInteractableException: element not interactable 無法互動 input標籤元素太多,無法定位
# driver.find_element_by_tag_name("input").send_keys("陳情令")
# driver.find_element_by_tag_name("input").click()
# xPath //路徑 *所有的尋找 @id尋找id
# driver.find_element_by_xpath("//*[@id='kw']").send_keys("陳情令")
# driver.find_element_by_xpath("//*[@id='su']").click()
# css id用#號 如果有唯一class是.號
driver.find_element_by_css_selector("#kw").send_keys("cql")
driver.find_element_by_css_selector("#su").click()
time.sleep(6)
driver.quit()
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.maximize_window()
driver.find_element_by_css_selector("#kw").send_keys("我在他鄉挺好的")
driver.find_element_by_css_selector("#su").click()
time.sleep(6)
# 清除資訊 先定位
driver.find_element_by_id("kw").clear()
time.sleep(5)
# 在搜尋其他資訊
driver.find_element_by_id("kw").send_keys("肖戰")
driver.find_element_by_id("su").click()
time.sleep(6)
driver.quit()
driver.find_element_by_id("kw").send_keys("肖戰")
driver.find_element_by_id("su").submit()
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.maximize_window()
# 獲取元素內容
text = driver.find_element_by_id("bottom_layer").text
print(text)
driver.quit()
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.maximize_window()
driver.find_element_by_id("kw").send_keys("肖戰")
driver.find_element_by_id("su").click()
# 找到肖戰,跳轉到肖戰的百度百科介面
driver.find_element_by_link_text("百度百科").click()
# 沒有找到,在資源沒載入出來,就去尋找資源,導致沒有變化
time.sleep(6)
# close 關閉瀏覽器 quit 不僅關閉瀏覽器,還可以清除快取垃圾
driver.quit()
所以在這時就需要新增一個等待。
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.maximize_window()
driver.find_element_by_id("kw").send_keys("肖戰")
driver.find_element_by_id("su").click()
# 加一個等待
# 固定等待,讓頁面 等待 規定的時間 10s ,在 10s後在查詢肖戰的百度百科,
time.sleep(10)
driver.find_element_by_link_text("百度百科").click()
time.sleep(6)
driver.quit()
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.maximize_window()
driver.find_element_by_id("kw").send_keys("肖戰")
driver.find_element_by_id("su").click()
# 加一個等待
# 智慧等待 ,當頁面載入出來後就直接跳轉, 下面的意思是最多等10秒 但是在10s後沒有載入出來後就會報錯
driver.implicitly_wait(10)
driver.find_element_by_link_text("百度百科").click()
time.sleep(6)
driver.quit()