日升时奋斗,日落时自省
目录
1、Selenium
2、常见问题
1、Selenium
安装Python和配置环境没有涉及
注:如有侵权,立即删除
首先安装selenium包,安装方式很简单 pip install selenium
注:我这里已经安装好了,所以没有显示安装过程,没有配置环境的安装会比较慢,可以自行网上找教程
安装好以后:
直接上手代码: selenium4版本的这里By需要我们去导包By的包,alt+enter快捷导包方便您一步到位
import time
from selenium import webdriver
from selenium.webdriver.common.by import By# 创建驱动连接 如果这部分报错 大部分情况驱动版本和浏览器版本是不一致的
driver=webdriver.Chrome()
# 这里给友友们提供一个 用来测试网页 仅仅提供简单测试
driver.get("https://www.saucedemo.com/")#selenium4 版本之后对于之前的 find_element_by_id这种类型是不兼容的
#现在find_element方法包含两个参数 我们比较常用就是 By.CSS_SELECTOR 类型 XPATH类型
# 以By.CSS_SELECTOR形式获取 用户元素
element1=driver.find_element(By.CSS_SELECTOR, "#user-name")
# 返回元素 可以进输入内容 以下是输入内容
element1.send_keys("standard_user")
time.sleep(1)
#使用 XPATH 形式获得 元素
element2=driver.find_element(By.XPATH, "//*[@id='password']")
element2.send_keys("secret_sauce")
time.sleep(1)
element3=driver.find_element(By.ID,"login-button")
#针对获取的元素进行点击
element3.click()
time.sleep(1)
element4=driver.find_element(By.ID,"react-burger-menu-btn")
element4.click()
# element5=driver.find_element(By.CSS_SELECTOR,"#about_sidebar_link")
# element5.click()
#窗口最大化 也就是全屏
driver.maximize_window()
time.sleep(1)
#不喜欢的友友 也可以使用自己喜欢窗口大小
# driver.set_window_size(1366,768)time.sleep(3)
driver.quit()
注:selenium4版本兼容不了find_element_by_id这类型方法注意使用以上方法的进行元素获取
以下是比较常用的四个方法(两个参数哈)
driver.find_element(By.XPATH,'XPATH') #路径方法进行获取
driver.find_element(By.CLASS_NAME,'CLASS_NAME') #类获取元素
driver.find_element(By.CSS_SELECTOR,'CSS_SELECTOR') #css选择器获取
driver.find_element(By.ID,'ID') # id获取元素
如何获取参数:F12 获取元素 先找到元素的位置,右击-》复制-》选择你使用元素获取方式
注:selenium4使用是比较简单的,希望看到这里能帮你快速上手
2、常见问题
(1)浏览器驱动------浏览器版本上是一致的,不一致会报错
(2)有时候获取元素的时候,友友可能觉得复制过来的css或者xpath都是对的但是就是获取不到
暂时我发现的有两个问题:
I : html没有加载出来需要稍微缓冲一下(但是此时就需要考虑为什么会这么慢了)
缓冲的等待固定时间time.sleep(3) 表示等待3秒,以秒为单位
II :窗口大小比较小,所以此时可以尝试窗口最大化尝试获取元素是否可以