Selenium的下载及环境的搭建
1.安装python环境
conda 安装python环境《略》
2.在CMD在使用pip下载Selenium
pip install selenium #pip安装
3.下载webdriver
进入Selenium的下载界面:https://www.selenium.dev/downloads/
下拉找到Browsers
4、驱动与浏览器
https://developer.chrome.com/docs/chromedriver/downloads?hl=zh-cn
对应版本
https://googlechromelabs.github.io/chrome-for-testing/
5、webdriver.chrome的开发文档
https://selenium-python.readthedocs.io/
开发举例
一、浏览器控制方法
get(url):加载指定的 URL 到浏览器中。
driver.get("https://www.baidu.com") #示例:
quit():关闭浏览器并结束所有相关的窗口和进程。
driver.quit() #示例:
close():关闭当前窗口。如果只有一个窗口打开,它的行为与quit()类似。
driver.close() #示例:
二、元素定位方法
find_element(By.ID, value):通过元素的 ID 属性查找单个元素。 示例:element =
driver.find_element(By.ID, “my_element_id”)。 find_element(By.NAME,
value):通过元素的 NAME 属性查找单个元素。 示例:element = driver.find_element(By.NAME,
“my_element_name”)。 find_element(By.CLASS_NAME, value):通过元素的
CLASS_NAME 属性查找单个元素。 示例:element = driver.find_element(By.CLASS_NAME,
“my_element_class”)。 find_element(By.TAG_NAME, value):通过元素的标签名查找单个元素。
示例:element = driver.find_element(By.TAG_NAME, “input”)。
find_element(By.LINK_TEXT, value):通过链接的完全匹配文本查找单个元素。 示例:element =
driver.find_element(By.LINK_TEXT, “Click here”)。
find_element(By.PARTIAL_LINK_TEXT, value):通过链接的部分文本查找单个元素。
示例:element = driver.find_element(By.PARTIAL_LINK_TEXT, “Click”)。
find_element(By.CSS_SELECTOR, value):通过 CSS 选择器查找单个元素。 示例:element =
driver.find_element(By.CSS_SELECTOR, “#my_element_id”)。
find_element(By.XPATH, value):通过 XPath 表达式查找单个元素。 示例:element =
driver.find_element(By.XPATH, “//div[@id=‘my_element_id’]”)。
find_elements(*locator):与上述方法类似,但返回的是符合条件的所有元素的列表。
三、元素交互方法
click():点击一个元素。 示例:element.click()。 send_keys(*value):向一个输入元素发送文本。
示例:element.send_keys(“Hello, World!”)。 clear():清除一个输入元素中的文本。
示例:element.clear()。 四、获取元素信息方法 text:获取元素的文本内容。 示例:element_text =
element.text。 get_attribute(name):获取元素的特定属性值。 示例:attribute_value =
element.get_attribute(“class”)。
五、等待方法
implicitly_wait(time_to_wait):设置一个隐式等待时间,在查找元素时,如果元素没有立即出现,Selenium
将等待指定的时间。 示例:
driver.implicitly_wait(10)(等待 10 秒)。
WebDriverWait(driver, timeout, poll_frequency=POLL_FREQUENCY,
ignored_exceptions=None):用于显式等待,等待特定条件满足。
六、代码示例
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "my_element_id")))