2025-09-06 java使用selenium执行javascript

JavascriptExecutor js = (JavascriptExecutor) driver;

js.executeScript("document.querySelectorALL("span[data-value='CNStockPC']")")[1].classList.add("focused")

给这个span添加一个focused的class。


--------------------------------------------

javascript中的几个有用定位

1. document.querySelectorAll("span[data-value='CN']")[1].parentElement

找到元素后往上找到它的父类元素

2. document.querySelectorAll("span[data-value='CN']")[1].closest(".cdk-abc")

往上找class为.cdk-abc的元素的最近元素

----------------------


document.querySelector(selector)

从整个文档中查找第一个匹配 CSS 选择器的元素,返回单个元素(无匹配则返回 null)。

例:document.querySelector('div.className') 找第一个带指定类的 div。

document.querySelectorAll(selector)

从整个文档中查找所有匹配 CSS 选择器的元素,返回类数组(NodeList)。

例:document.querySelectorAll('ul li') 找所有 ul 下的 li 元素。

element.closest(selector)

从当前元素开始,向上遍历 DOM 树(包括自身),查找最近的一个匹配选择器的祖先元素,返回该元素(无匹配则返回 null)。

例:child.closest('.parent') 从子元素找最近的带 parent 类的祖先。

element.querySelector(selector)

在当前元素的子节点中,查找第一个匹配选择器的元素(仅搜索后代,不包括自身)。

例:container.querySelector('span.active') 在容器内找第一个激活的 span。

element.querySelectorAll(selector)

在当前元素的子节点中,查找所有匹配选择器的元素,返回 NodeList。

例:list.querySelectorAll('li:nth-child(odd)') 找列表中所有奇数位置的 li。

element.matches(selector)

判断当前元素是否匹配指定选择器,返回布尔值(true/false)。

例:el.matches('.active') 检查元素是否有 active 类。




const stickyNav = function(e){

  const [entry] = e;

  console.log(e);

}

const header = document.querySelector('.header');

const headerObserver = new IntersectionObserver(stickyNav,{

  root:null,

  threshold:0

});

headerObserver.observe(header);

1. 创建一个intersectionObserver()对象,里面有两个参数,方法和选项

const headerObserver = new IntersectionObserver(Observerfunction,Option});

const Oberverfunction = function(e){


  const entry = e[0];      从数据e中提取第一个

  console.log(e);

}

const Option = {root: null,threshold: 0}

root:null指默认的根元素是视口viewport

threshold: 0 定义触发回调的交叉比例阈值(范围0-1), 0当目标元素刚进入根元素或者刚离开根元素时,立刻触发回调函数observerfunction

2. 运行此对象,传入需要观察的对象

headerObserver(header)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容