首页 > 其他分享 >selenium使用总结

selenium使用总结

时间:2024-02-28 10:00:14浏览次数:30  
标签:总结 body execute selenium height 使用 div find browser

1.网页爬取

from selenium import webdriver
browser = webdriver.Edge()    #python根路径配置驱动文件
browser.get('')
soup = BeautifulSoup(browser.page_source)
soup.prettify()

2.下拉框选择、网页点击、输入框

#下拉框选择
sel_element1 = browser.find_element_by_xpath('//*[@id="selectedDataset"]') Select(sel_element1).select_by_visible_text("Daily Summaries")

#网页点击
browser.find_element_by_xpath('//*[@id="dateRangeContainer"]/input').click()

#输入框输入
browser.find_element_by_xpath('/html/body/div[1]/div[2]/div/div[1]/div[2]/form/fieldset[4]/div/input').send_keys('shanghai')

#选择元素的另一种方式
driver.find_element(by=By.XPATH, value="/html/body/div[1]/div/div[2]/div/div[2]/span[2]/ul/li[{}]".format(i)).click()

3.执行js代码使某些信息显示--style = ''

js="document.getElementsByClassName('noaa-daterange-dialog')[0].style.display='block'"
browser.execute_script(js)

4.页面滑动加载操作

 last_height = driver1.execute_script("return document.body.scrollHeight")
             
            # 模拟下拉操作,直到滑动到底部
            while True:
                # 模拟下拉操作
                driver1.execute_script("window.scrollTo(0, document.body.scrollHeight);")
             
                # 等待页面加载
                time.sleep(3)
             
                # 获取当前页面的高度
                new_height = driver1.execute_script("return document.body.scrollHeight")
             
                # 判断是否已经到达页面底部
                if new_height == last_height:
                    break
             
                # 继续下拉操作
                last_height = new_height

5.窗口转换

 handles = driver2.window_handles
 driver2.switch_to.window(handles[-1])

 

标签:总结,body,execute,selenium,height,使用,div,find,browser
From: https://www.cnblogs.com/jgua/p/18039044

相关文章

  • Apscheduler 使用Redis集群做为任务存储
    背景由于原生的apscheduler仅支持redis单节点连接,不支持redis集群,所以本人基于原生的RedisJobStore自己修改了一个专门用于连接redis集群的类RedisClusterJobStore修改点有以下内容:修改类名RedisJobStore为RedisClusterJobStore将原始导入的redis替换为rediscluster将原始......
  • Mybatis系列之(五)Mybatis在使用基于代理Dao的方式实现增删改查时都干了啥事儿
    Mybatis在使用基于代理Dao的方式实现增删改查时都干了啥事儿绝对路径:可能出现机器中没有D盘的情况,需要修改代码相对路径:部署项目后src就不存在了,需要修改代码基于以上两点,读取配置文件仅通过图中的两种方式进行读取构建者模式:专业的事儿由专业的人来做工厂模式:需要新的类的对......
  • 使用pySCENIC分析单细胞转录因子活性
    ###---------------------1.Downloaddemosinglecellsequencingdata---------------###wgethttp://cf.10xgenomics.com/samples/cell-exp/3.0.0/pbmc_10k_v3/pbmc_10k_v3_filtered_feature_bc_matrix.tar.gztarxvfpbmc_10k_v3_filtered_feature_bc_matrix.tar.gz###--......
  • SQL 中使用 CONVERT转日期格式
    以下两种情况是相同的select*fromEmployeewhereUpdateTime>=convert(char(23),'2024-02-2600:00:00.00',121)andUpdateTime<=convert(char(23),'2024-02-2723:59:59.999',121)select*fromEmployee whereUpdateTime>='2024-02-......
  • uniapp 封装接口并使用
    1.在utils文件夹下新建api.js和httpRequest.js页面httpRequest.js:getApp().globalData.baseUrl='https://xxxxxx';importapifrom"@/utils/api.js";module.exports={httpRequest(url,method,param){vardata=param.data;......
  • 气象数据调研总结
    1.判断是否为中文defis_chinese(char):if'\u4e00'<=char<='\u9fff':returnTrueelse:returnFalse2.逆地理编码---百度地图AK=''lat=df['LATITUDE'].values[0]lon=df['LONGITUDE']......
  • 在K8S中,helm是什么?如何使用?
    在Kubernetes(K8s)中,Helm是一个用于简化Kubernetes应用程序部署和管理的包管理工具。它采用了声明式配置和模板化的概念,使得Kubernetes资源的打包、安装、升级、回滚等操作变得更加方便和高效。Helm主要由两个核心组件构成:HelmCLI(命令行接口):提供了一系列命令,让用户能够在本......
  • 在K8S中,etcdctl如何使用?
    在Kubernetes(K8s)中,etcdctl是用于直接与etcd集群交互的命令行工具,主要用于管理和调试etcd存储中的键值对数据。etcd是K8s集群的核心组件之一,它作为一个高可用的分布式键值存储系统,用于保存集群的所有重要配置数据。以下是如何在Kubernetes环境中使用etcdctl的基本......
  • Python函数每日一讲 - 一文让你彻底明白hasattr函数的使用
    引言在Python编程中,经常会遇到需要判断对象是否具有某个属性的情况。这时候就可以用到Python内置函数hasattr()。本文将深入探讨hasattr()函数的使用方法及其在实际编程中的应用。语句概览hasattr()函数用于检查对象是否具有指定的属性,返回一个布尔值。其语法如下:hasattr(......
  • Vue3学习(二十)- 富文本插件wangeditor的使用
    写在前面学习、写作、工作、生活,都跟心情有很大关系,甚至有时候我更喜欢一个人独处,戴上耳机coding的感觉。明显现在的心情,比中午和上午好多了,心情超棒的,靠自己解决了两个问题:新增的时候点击TreeSelect控件控制台会给出报错分类新增和编辑时,报错父类和电子书iD不能为空的问题......