背景:
需要获取网页的控制台的数据,如下图
在此文章将使用到 Pycharm 和 Selenium4
python
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# 创建浏览器对象
browser = webdriver.Chrome()
# 打开页面
browser.get("https://www.baidu.com")
# 元素定位 (多种,以下使用XPATH)
# 注:线上大部分的定位函数为find_element_by_id,可能是旧版本Selenium的函数,现使用.find_element(By.___ , "")
browser.find_element(By.XPATH,"//*[@id='kw").send_keys("填入内容") # 填入输入框
browser.find_element(By.XPATH,"//*[@id='su").click() # 点击搜索
##延迟代码结束运行
time.sleep(1000)
关闭浏览器
browser.quit()
Selenium中的find_element方法 //供参考
这里使用Chrome有一个技巧可以直接复制元素的信息
到此我们已经完成了一部分简单的自动化操作了
接下来我们需要记录和获取控制台的信息,这部分参考可参考
jmeter-调用python脚本
python
import json
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
options = Options()
caps = {
"browserName": "chrome",
'goog:loggingPrefs': {'performance': 'ALL'} # 开启日志性能监听
}
# 将caps添加到options中
for key, value in caps.items():
options.set_capability(key, value)
browser = webdriver.Chrome(options=options)
# 打开页面
browser.get("https://www.baidu.com")
# 填入输入框
browser.find_element(By.XPATH,"//*[@id='kw").send_keys("填入内容")
# 点击搜索
browser.find_element(By.XPATH,"//*[@id='su").click()
# 停留10秒加载数据
time.sleep(10)
# 获取名称为 performance 的日志
performance_log = browser.get_log('performance')
# 打印获取的数据,有需要再进一步筛选
print(performance_log)