寒假生活指导15
# 相关模块导入 from selenium import webdriver # selenium 4版本必须要设置浏览器选项,否则会闪退 option = webdriver.EdgeOptions() option.add_experimental_option("detach", True) # 实例化浏览器驱动对象,并将配置浏览器选项 driver = webdriver.Edge(options=option) # 设置要打开的目标url,这里以百度为例 url = "https://www.baidu.com" # 使用驱动对象打开网页 driver.get(url=url)
selenium 基础使用。
元素定位
# 相关模块导入 from selenium import webdriver from selenium.webdriver.common.by import By # selenium 4版本必须要设置浏览器选项,否则会闪退 option = webdriver.EdgeOptions() option.add_experimental_option("detach", True) # 实例化浏览器驱动对象,并将配置浏览器选项 driver = webdriver.Edge(options=option) # 设置要打开的目标url,这里以百度为例 url = "https://www.baidu.com" # 使用驱动对象打开网页 driver.get(url=url) # 元素定位 # 根据id来找到对象*** # button = driver.find_element(by='id', value='su') # print(button) # 根据标签属性的属性值来获取对象的 # button = driver.find_element(by='name',value='wd') # print(button) # 根据xpath语句来获取对象*** # button = driver.find_elements(by='xpath',value='//input[@id="su"]') # print(button) # 根据标签的名字来获取对象 # buttons_by_tag_name = driver.find_elements(by=By.TAG_NAME, value='input') # print(buttons_by_tag_name) # 使用的bs4的语法来获取对象**** # button = driver.find_elements(by=By.CSS_SELECTOR,value='#su') # print(button) #获取链接文本 button = driver.find_element(by=By.LINK_TEXT,value='视频') print(button)
元素信息 # 相关模块导入 from selenium import webdriver from selenium.webdriver.common.by import By # selenium 4版本必须要设置浏览器选项,否则会闪退 option = webdriver.EdgeOptions() option.add_experimental_option("detach", True) # 实例化浏览器驱动对象,并将配置浏览器选项 driver = webdriver.Edge(options=option) # 设置要打开的目标url,这里以百度为例 url = "https://www.baidu.com" # 使用驱动对象打开网页 driver.get(url=url) input = driver.find_element(by='id',value='su') # 获取标签的属性 print(input.get_attribute('class')) # 获取标签的名字 print(input.tag_name) print(input.text) # 获取元素文本 a = driver.find_element(by=By.LINK_TEXT,value='新闻') print(a.text)
页面交互
from selenium import webdriver from selenium.webdriver.common.by import By # selenium 4版本必须要设置浏览器选项,否则会闪退 option = webdriver.EdgeOptions() option.add_experimental_option("detach", True) # 实例化浏览器驱动对象,并将配置浏览器选项 driver = webdriver.Edge(options=option) # 设置要打开的目标url,这里以百度为例 url = "https://www.baidu.com" # 使用驱动对象打开网页 driver.get(url=url) import time time.sleep(2) # 获取文本框的对象 input = driver.find_element(by='id',value='kw') # 在文本框中输入周杰伦 input.send_keys('原神') time.sleep(2) # 获取百度一下的按钮 button = driver.find_element(by='id',value='su') # 点击按钮 button.click() time.sleep(10) # 滑到底部 js_bottom = 'document.documentElement.scrollTop=100000' driver.execute_script(js_bottom) time.sleep(2) # 获取下一页的按钮 next = driver.find_element(by=By.XPATH,value='//a[@class="n"]') # 点击下一页 next.click() time.sleep(2) # 回到上一页 driver.back() time.sleep(2) # 回去 driver.forward() time.sleep(3) # 退出 driver.quit()