您的位置:首页 > 财经 > 产业 > 网络营销与线上营销的区别_佛山华企立方网络公司_seo搜索引擎优化就业指导_最全资源搜索引擎

网络营销与线上营销的区别_佛山华企立方网络公司_seo搜索引擎优化就业指导_最全资源搜索引擎

2025/5/1 13:07:42 来源:https://blog.csdn.net/m0_68335861/article/details/146253442  浏览:    关键词:网络营销与线上营销的区别_佛山华企立方网络公司_seo搜索引擎优化就业指导_最全资源搜索引擎
网络营销与线上营销的区别_佛山华企立方网络公司_seo搜索引擎优化就业指导_最全资源搜索引擎

一、元素定位

1、查找元素

①find_element(方式,"元素")    //查找一个元素

②find_elements(方式,"元素")    //查找多个元素

code:find_elements的使用,返回值是一个列表

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#找到多个元素标签
ret=driver.find_elements(By.CSS_SELECTOR,"#hotsearch-content-wrapper")
#打印每个元素标签的文本信息
for i in ret:print(i.text)
time.sleep(2)
#销毁对象,即关闭浏览器
driver.quit()

2、查找元素的方式

常用的主要有选择器、xpath

①选择器的功能:选中页面中指定的元素标签

选择器的种类分为:基础选择器和复合选择器

code:

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#获取某元素标签的文本信息
text=driver.find_element(By.CSS_SELECTOR,"#hotsearch-content-wrapper > li:nth-child(1) > a").text
#打印获取到的信息
print(text)
time.sleep(2)
#销毁对象,即关闭浏览器
driver.quit()

☆选择器:#hotsearch-content-wrapper > li:nth-child(1) > a

☆解释:获取hotsearch-content-wrapper标签下的第1个li子标签下的a标签,>代表的是当前标签下的子标签,li:nth-child(1)代表父标签下的第一个li标签。

②xpath:XML路径语言,不仅可以在XML文件中查找信息,还可以在HTML中选取节点。

语法:

//*       #获取HTML页面的所有节点
//[指定节点]    #获取HTML页面的指定节点
#如:
//ul    #获取HTML页面所有的ul节点
//input   #获取HTML页面所有的input节点
/        #获取一个节点的直接子节点
#如:
//span/input  #获取span节点的子节点input
..        #获取一个节点的父节点
#如:
//input/..     #获取input节点的父节点
[@...]    #实现节点属性的匹配
#如:
//*[@id='kw']  #匹配HTML页面中id属性值为kw的节点

code:

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#获取某元素标签的文本信息
text=driver.find_element(By.XPATH,"//*[@id=\"hotsearch-content-wrapper\"]/li[4]/a/span[2]").text
#打印获取到的信息
print(text)
time.sleep(2)
#销毁对象,即关闭浏览器
driver.quit()

☆xpath://*[@id=\"hotsearch-content-wrapper\"]/li[4]/a/span[2]

☆解释:在当前HTML页面下,id属性值为hotsearch-content-wrapper的标签下的第四个li标签下的a标签下的第二个span标签。

二、操作测试对象

1、点击/提交对象

点击事件:查找元素+点击元素(click()) //页面上任意地方都可以进行点击

code:

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#点击百度一下
driver.find_element(By.CSS_SELECTOR,"#su").click()
time.sleep(2)
#销毁对象,即关闭浏览器
driver.quit()

☆这段代码是看不到效果的,要看到效果的话,可以看模拟按键输入那段代码。

2、模拟按键输入

send_keys("文本内容")    //通常针对输入框来进行输入

code:

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#模拟按键输入“单依纯”
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("单依纯")
time.sleep(2)
#点击百度一下
driver.find_element(By.CSS_SELECTOR,"#su").click()
time.sleep(2)
#销毁对象,即关闭浏览器
driver.quit()

3、清除文本内容

输入文本后又想换一个新的关键词时,就需要用到clear()

△如果不使用clear(),那么就会在上一个关键词后继续输入

code:没有使用clear()时的效果

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#模拟按键输入“单依纯”
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("单依纯")
time.sleep(2)
#点击百度一下
driver.find_element(By.CSS_SELECTOR,"#su").click()
time.sleep(2)
#模拟按键再次输入“佟丽娅”
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("佟丽娅")
time.sleep(2)
#点击百度一下
driver.find_element(By.CSS_SELECTOR,"#su").click()
time.sleep(2)
#销毁对象,即关闭浏览器
driver.quit()

code:使用了clear()之后的效果

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#模拟按键输入“单依纯”
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("单依纯")
time.sleep(2)
#点击百度一下
driver.find_element(By.CSS_SELECTOR,"#su").click()
time.sleep(2)
#清空搜索框
driver.find_element(By.CSS_SELECTOR,"#kw").clear()
#模拟按键再次输入“佟丽娅”
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("佟丽娅")
time.sleep(2)
#点击百度一下
driver.find_element(By.CSS_SELECTOR,"#su").click()
time.sleep(2)
#销毁对象,即关闭浏览器
driver.quit()

4、获取文本信息

text

code:

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#获取并打印第一个热搜的文本信息
text=driver.find_element(By.CSS_SELECTOR,"#hotsearch-content-wrapper > li:nth-child(1) > a > span.title-content-title").text
print(text)
#销毁对象,即关闭浏览器
driver.quit()

应用场景:获取到元素对应的文本信息后,通过断言来判断文本信息是否符合预期

code:使用断言来判断文本信息是否正确

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#获取并打印第一个热搜的文本信息
text=driver.find_element(By.CSS_SELECTOR,"#hotsearch-content-wrapper > li:nth-child(1) > a > span.title-content-title").text
print(text)
assert text=="以文化赋能经济社会发展"
#销毁对象,即关闭浏览器
driver.quit()

☆☆☆特殊情况:元素属性值!=文本信息

因此,如果还想获取写在属性中的属性值的话就要使用get_attribute("属性名称")方法

code:百度首页中的百度一下按钮上的文字就是属性值而不是文本信息

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#获取百度一下按钮上的属性值
valuetext=driver.find_element(By.CSS_SELECTOR,"#su").get_attribute("value")
print(valuetext)
#销毁对象,即关闭浏览器
driver.quit()

5、获取当前页面标题

title

code:本段代码与下段代码一起呈现

6、获取当前页面URL

current_url

code:

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#获取当前页面的标题和url
title=driver.title
url=driver.current_url
print(title)
print(url)
#销毁对象,即关闭浏览器
driver.quit()

应用场景:页面元素可点击跳转的情况下,可以用来检测跳转的结果是否是正确的。

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#获取当前页面的标题和url
print("before:"+driver.title)
print("before:"+driver.current_url)
#输入“单依纯”并点击百度一下
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("单依纯")
driver.find_element(By.CSS_SELECTOR,"#su").click()
#获取“单依纯”页面的标题和url
print("before"+driver.title)
print("before"+driver.current_url)
#销毁对象,即关闭浏览器
driver.quit()
import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#获取当前页面的标题和url
print("before:"+driver.title)
print("before:"+driver.current_url)
time.sleep(2)
#输入“单依纯”并点击百度一下
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("单依纯")
time.sleep(2)
driver.find_element(By.CSS_SELECTOR,"#su").click()
time.sleep(2)
#获取“单依纯”页面的标题和url
print("before"+driver.title)
print("before"+driver.current_url)
time.sleep(2)
#销毁对象,即关闭浏览器
driver.quit()

☆还可以使用断言来配合的!!

☆上述两段代码的运行结果不一样,原因会在等待部分讲解。后面一段代码的执行结果才是正确的执行结果。

三、窗口

1、切换窗口

当我们点击了页面上的元素之后,如果跳转到了另一个页面,那么我们当前的对象是无法获取新打开的页面的元素的。因为我们的对象一直通过上一个页面的句柄控制上一个页面。如果我们要控制新打开的页面,那么我们就要切换句柄。

curHandle=driver.current_window_handle  //获取driver对象所控制的当前页面的句柄

allHandle=driver.window_handles    //获取所有页面的句柄,并放在列表中

code:切换句柄之前

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#点击百度首页的图片按钮
driver.find_element(By.CSS_SELECTOR,"#s-top-left > a:nth-child(6)").click()
time.sleep(2)
print(driver.title)
print(driver.current_url)
#销毁对象,即关闭浏览器
driver.quit()

code:切换句柄之后

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#点击百度首页的图片按钮
driver.find_element(By.CSS_SELECTOR,"#s-top-left > a:nth-child(6)").click()
time.sleep(2)
curHandle=driver.current_window_handle
allHandles=driver.window_handles
for handle in allHandles:if handle!=curHandle:driver.switch_to.window(handle)
print(driver.title)
print(driver.current_url)
#销毁对象,即关闭浏览器
driver.quit()

2、窗口设置大小

driver.maximize_window()    //窗口最大化

driver.minimize_window()     //窗口最小化

driver.fullscrean_window()    //窗口全屏

driver.set_window_size(宽度,高度)   //设置窗口大小

code:

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#窗口最大化
driver.maximize_window()
time.sleep(2)
#窗口最小化
driver.minimize_window()
time.sleep(2)
#窗口全屏
driver.fullscreen_window()
time.sleep(2)
#设置窗口大小
driver.set_window_size(1024,512)
time.sleep(2)
#销毁对象,即关闭浏览器
driver.quit()

3、屏幕截图

driver.save_screenshot("屏幕截图保存下来的图片名称(可以是路径+名称)")

作用:当自动化运行报错时,仅仅通过终端的错误提示给到的信息是有限的。若能将当时的页面变化截图拍下来,能更好的定位问题并解决问题。

code:

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#搜索“单依纯页面”
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("单依纯")
driver.find_element(By.CSS_SELECTOR,"#su").click()
time.sleep(2)
#拍照
driver.save_screenshot("./images/image.png")
#销毁对象,即关闭浏览器
driver.quit()

☆由于图片给定的名称是固定的,所以我们多次运行自动化脚本时,历史图片将会被覆盖。

因此,我们可以将时间加入文件名中,代码如下:

code:

import datetime
import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#搜索“迪丽热巴页面”
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("迪丽热巴")
driver.find_element(By.CSS_SELECTOR,"#su").click()
time.sleep(2)
filename="autotest-"+datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S"+".png")
#拍照
driver.save_screenshot("./images/"+filename)
#销毁对象,即关闭浏览器
driver.quit()

4、关闭窗口

driver.close()

code:

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#在百度首页点击图片按钮
driver.find_element(By.CSS_SELECTOR,"#s-top-left > a:nth-child(6)").click()
time.sleep(2)
driver.close()
time.sleep(2)
#销毁对象,即关闭浏览器
driver.quit()

☆窗口关闭后driver可以重新定义,指向其它的标签页

code:关闭网页就相当于删除句柄,此时需要更换driver对象控制的句柄,来控制其它页面

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#在百度首页点击图片按钮
driver.find_element(By.CSS_SELECTOR,"#s-top-left > a:nth-child(6)").click()
time.sleep(2)
handles=driver.window_handles
driver.close()
driver.switch_to.window(handles[1])
time.sleep(2)
print(driver.title)
print(driver.current_url)
time.sleep(2)
#销毁对象,即关闭浏览器
driver.quit()

四、弹窗

1、警告弹窗+确认弹窗

①切换到弹窗

alert=driver.switch_to.alert    //将driver对象转为控制弹窗的对象alert

②关闭弹窗(点击确定/取消)

alert.accept()     //点击确定

alert.dismiss()      //点击取消

2、提示弹窗

①切换到弹窗

②输入信息

alert.send_keys("输入信息")

③关闭弹窗

五、等待

通常代码的执行速度比页面渲染的速度快,所以可能会出现执行代码时,页面没有渲染完成的情况,因此而报错。所以有了以下三种等待方法:

1、强制等待

time.sleep()

优点:使用简单,调试的时候比较有效。

缺点:影响运行效率,浪费大量时间。

2、隐式等待

隐式等待是一种智能等待,它会在规定的时间内不断地去查找元素。如果查到了就继续执行,如果超时未查到,则会报错。

implicitly_wait()

隐式等待的作用域是整个脚本的所有元素。生命周期是,driver对象没有被释放,则隐式等待一直生效。

优点:智能等待,作用于全局。

3、显示等待

显示等待也是一种智能等待。如果在规定时间内满足操作的条件就会执行后续代码,如果规定时间内没有满足操作的条件,那么就会报错。

WebDriverWait(driver,sec).until(functions)

优点:显示等待是智能等待,可以自定义显示等待的条件,操作灵活。

缺点:写法复杂。

☆☆☆隐式等待和显示等待不建议一起使用。可能会导致不可预测的等待时间。

code:显示等待

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from webdriver_manager.chrome import ChromeDriverManager
#下载驱动程序
ChromeIns=ChromeDriverManager().install()
#由驱动程序生成一个对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
#进入百度首页
driver.get("https://www.baidu.com/")
time.sleep(2)
#在百度首页点击图片按钮
driver.find_element(By.CSS_SELECTOR,"#s-top-left > a:nth-child(6)").click()
time.sleep(2)
handles=driver.window_handles
driver.close()
driver.switch_to.window(handles[1])
time.sleep(2)
wait=WebDriverWait(driver,2)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR,"#image-search-input")))
driver.find_element(By.CSS_SELECTOR,"#image-search-input").send_keys("单依纯")
time.sleep(2)
driver.find_element(By.CSS_SELECTOR,"#app > div > div.scroll-container_3GMO1.cos-flex.cos-flex-1.scroll-wrapper_BN2t5 > div > div.search-wrapper_YUbkG.column_2Fdwz.large_3kg0I.search-box_32PC- > div.search-form_2_2jV > div.input-wrapper_3_y8s > form > span.submit-btn_38GYq > input[type=submit]").click()
time.sleep(3)
#销毁对象,即关闭浏览器
driver.quit()

六、浏览器导航

1、打开网站

driver.get("网址")

2、浏览器的前进、后退和刷新

driver.back()     //后退

driver.forward()    //前进

driver.refresh()     //刷新

code:

七、文件上传

driver.find_element(By.CSS_SELECTOR,"元素标签").send_keys("文件路径")

通过send_keys()方法,可以实现将本地文件夹中的文件上传上来。

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
ChromeIns=ChromeDriverManager().install()
driver=webdriver.Chrome(service=Service(ChromeIns))
driver.get("https://www.baidu.com/")
time.sleep(2)
driver.find_element(By.CSS_SELECTOR,"#form > span.bg.s_ipt_wr.new-pmd.quickdelete-wrap > span.soutu-btn").click()
driver.find_element(By.CSS_SELECTOR,"#form > div > div.soutu-state-normal > div.upload-wrap > input").send_keys("C:\\Users\\hp\\Desktop\\微信图片_20250316072004.jpg")
time.sleep(5)
driver.quit()

八、浏览器参数设置

1、设置无头模式

无头模式:程序在后端运行,界面看不到页面的表现。

code:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#无头模式运行
options=webdriver.ChromeOptions()
options.add_argument("-headless")
driver=webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)
#进入百度首页
driver.get("https://www.baidu.com/")
#销毁对象,即关闭浏览器
driver.quit()

2、页面加载策略

☆driver.get默认情况下等待所有资源加载完成之后才会继续往下执行,但是实际上主页面加载完成之后我们就可以继续执行自动化,若一直等待的话可能会造成页面超时、元素找不到等问题。

code:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
#无头模式运行
options=webdriver.ChromeOptions()
options.page_load_strategy='eager'
driver=webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)
#进入百度首页
driver.get("https://www.baidu.com/")
#销毁对象,即关闭浏览器
driver.quit()

stratege:

normal :默认值,等待所有资源下载

eager:DOM访问已准备就绪,但诸如图像这类的资源仍在加载

none:完全不会阻塞webdriver

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com