使用的Python版本为3.8,selenium版本为4.15.2
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(url='')
driver.implicitly_wait(5)
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
ele = WebDriverWait(driver,10,0.5).until(EC.presence_of_element_located(By.,''))
driver.maximize_window() # 最大屏幕
driver.minimize_window() # 最小屏幕
driver.quit() # 退出浏览器
driver.close() # 关闭当前页面
driver.set_window_size(width=,height=) # 设置浏览器的大小
driver.set_window_position(x=,y=) # 设置浏览器在电脑上显示的位置
driver.back() # 模拟浏览器后退按钮
driver.forward() # 模拟浏览器前进按钮
driver.refresh() # 刷新当前页面
driver.title # 当前页面的标题
driver.current_url # 当前页面的网址
driver.find_element(By.XPATH,"//input[@id='kw']").send_keys('哈哈')
driver.find_element(By.CLASS_NAME,"s_ipt").send_keys('哈哈')
driver.find_element(By.ID,"kw").send_keys('哈哈')
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys('哈哈')
driver.find_element(By.NAME,"wd").send_keys('哈哈')
driver.find_element(By.LINK_TEXT,"贴吧").click()
driver.find_element(By.PARTIAL_LINK_TEXT,"贴").click()
# 浏览器弹框
driver.switch_to.alert
.accept() 确认
.dismiss() 取消
driver.switch_to.frame()
之所以用到这个,是因为有的页面可能不单单是一个页面,而是通过frame或者iframe标签元素把几个页面组合成一个页面。查找元素时需要注意的是,如果查找的元素不在当前页面下,那么需要找到对应页面,然后使用上述那个方法,跳到这个对应页面下,然后才能找到对应元素。
objs = driver.window_handles
# 获取当前的窗口对象 列表
driver.switch_to.window(objs[1])
# 下标从0开始
4 . 滑块验证
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get(url='file:///D:/Sublime/vscode/Test/%E6%BB%91%E5%9D%97%E6%B5%8B%E8%AF%95/%E6%BB%91%E5%8A%A8%E9%AA%8C%E8%AF%81.html')
driver.maximize_window()
ele = driver.find_element(By.XPATH,"//div[@class='slider']")
# 滑块元素
ac = ActionChains(driver)
ac.click_and_hold(ele).move_by_offset(300,0).perform()
# 鼠标点击 握住 向右移动300像素
ac.release()
# 释放
运行结果:
【注】:还有很多高级操作,这里只是总结最基础的而已。