首页 > 编程语言 >python+selenium+js操作网页元素

python+selenium+js操作网页元素

时间:2023-05-09 17:24:58浏览次数:33  
标签:python 元素 selenium js 获取 getElementById document id 属性

调用JS语法需要用到selenium中的方法 execute_script() ,参数直接填写JS语法。

# 1、通过元素id属性,获取元素
document.getElementById('id');
# 2、通过元素name属性,获取元素列表
document.getElementsByName(‘name’);

# 3、通过标签名,获取元素列表
document.getElementsByTagName(‘tag_name’);

# 4、通过类名,获取元素列表
document.getElementsByClassName(“class_name”);

# 5、通过选择器,获取一个元素
document.querySelector(“css selector”)

# 6、通过CSS选择器,获取元素列表
document.querySelectorAll(“css selector”)

  

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
js1 = "document.getElementById('kw').value='测试-安静博客园'"
driver.execute_script(js1)
time.sleep(2)
js2 = 'document.getElementById("su").click()'
driver.execute_script(js2)

  

# 修改元素属性
document.getElementById("id").setAttribute("属性名","属性值")

  

1、删除属性

# 删除属性
document.getElementById("id").removeAttribute("属性值")
2、获取属性

# 获取元素属性值
document.getElementById("id").getAttribute(属性值)
# 如果想要获取js返回的属性值,需要js前加return
js2 = ‘return document.getElementById(“anjing”).getAttribute(“name”)’
x = driver.execute_script(js2)
print(x)

3、修改属性值

# 修改属性值
document.getELementById("id").属性="属性值"

  

标签:python,元素,selenium,js,获取,getElementById,document,id,属性
From: https://www.cnblogs.com/buchi-baicai/p/17385682.html

相关文章

  • js方法判断两个数组的交集、并集和超集
    下面是JS实现数组交集、并集和超集的方法:1.交集:即两个数组中相同的元素。可以通过遍历一个数组,判断另一个数组是否包含该元素来确定。functionintersection(arr1,arr2){constresult=[];for(leti=0;i<arr1.length;i++){if(arr2.includes(arr1[i])){......
  • JS垃圾回收机制
    JS垃圾回收机制主要分为对栈和堆两种存储数据的回收:一、栈中数据回收1) 首先我们需要了解一个概念ESP指针:是指针寄存器的一种,用于堆栈指针,主要用来标记当前活动位置,简单就是标记当前代码执行位置2) 当我们执行一个函数时除了会有存储的变量外,还会有一个执行上下文;此......
  • 《nodejs跨栏》vue篇——vue简介
    Vue读音读作viewVue文件结构参考链接:https://www.runoob.com/vue2/vue-directory-structure.html其中App.vue代码如下:点击查看代码<!--展示模板--><template><divid="app"><imgdecoding="async"src="./assets/logo.png">......
  • vue使用video.js库,引入语言脚本的方式
    第一种import'video.js/dist/video-js.css'importvideojsfrom"video.js";window.videojs=videojs;require('video.js/dist/lang/zh-CN');第二种import'video.js/dist/video-js.css'importvideojsfrom"video.js&q......
  • 《nodejs跨栏》问题篇
    报错python.EXE参考链接:https://blog.csdn.net/qq_43753724/article/details/122241983报错内容如下:gypERRstackError:Commandfailed:D:\python\python.EXE-cimportsys;print解决方法:设置低版本python//设置confignpmconfigsetpythonD:\Python27......
  • Redis查询之RediSearch和RedisJSON讲解
    来源于:https://www.cnblogs.com/jingzh/p/17033403.html目录1Redis查询1.1RedisMod介绍1.2安装Redis1.3RediSearch+RedisJSON安装1.3.1下载安装1.3.2修改配置1.4RedisJSON操作1.4.1基本操作1.4.1.1保存操作JSON.SET1.4.1.2读取操作JSON.GET1.4.1.......
  • pdfjs分片
    分片加载的实现是基于HTTP-RANGE的,即服务端的文件接口如果实现了HTTP-RANGE,pdf.js会默认去执行分片加载的策略。 也就是第一次请求时,服务器返回200,同时返回响应头Accept-RangesAccept-Ranges:bytes(表明服务器支持分片加载)Content-Length:408244(表明该文件的所有字......
  • MySQL之json数据操作
    来源于:转载于:https://blog.csdn.net/asd529735325/article/details/107205214/目录1MySQL之JSON数据1.1建表添加数据1.2基础查询操作1.2.1一般json查询1.2.2多个条件查询1.2.3json中多个字段关系查询1.2.4关联表查询1.3JSON函数操作1.3.1官方json函数1......
  • js获取url中的参数
    functiongetUrlParam(strUrl){varurl,pos,urlStr,para;url=strUrl||window.location.href;pos=url.indexOf("?")if(pos<=0)return;url=url.substring(pos+1);varparams=url.split("&");......
  • python 循环中使用index索引
    #使用enumerate()实现ints=[8,23,45,12,78]foridx,valinenumerate(ints):print(idx,val)ints=[8,23,45,12,78]forindex,iteminenumerate(ints,start=0):#默认是从0开始print(index,item)ints=[8,23,45,12,78]forindex,it......