You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用UiPath/JS/.NET/C#点击SharePoint重复文件上传替换按钮

SharePoint重复文件上传替换按钮点击方案(JavaScript/.NET/C#/UiPath)

一、JavaScript 实现方式

你之前用的CSS选择器太依赖DOM层级,里面的root-213、css-233这类都是动态生成的类名,页面结构一变就失效,换更稳定的定位逻辑:

// 方式1:通过按钮文本精准定位
const replaceBtn = Array.from(document.querySelectorAll('button')).find(btn => btn.textContent.trim() === '替换');
if (replaceBtn) {
  replaceBtn.click();
} else {
  console.log('没找到替换按钮');
}

// 方式2:简化CSS选择器(用稳定的父容器类)
const replaceBtnSimplified = document.querySelector('.actions_313b4a6d button');
if (replaceBtnSimplified) {
  replaceBtnSimplified.click();
}

把这段代码放到UiPath的Execute JavaScript活动里执行就行,优先用文本定位,最不容易出错。

二、.NET/C# 实现方式(UiPath Invoke Code活动)

如果习惯用C#,可以在UiPath里加Invoke Code活动,引用Selenium包后用浏览器实例操作:

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

// 从UiPath的Get Browser活动获取driver实例
var driver = (IWebDriver)args["Driver"];
try {
    // 文本定位
    var replaceButton = driver.FindElement(By.XPath("//button[contains(text(), '替换')]"));
    replaceButton.Click();
} catch (NoSuchElementException) {
    Console.WriteLine("替换按钮没找到");
}

// 或者用简化CSS选择器
// try {
//     var replaceButton = driver.FindElement(By.CssSelector(".actions_313b4a6d button"));
//     replaceButton.Click();
// } catch (NoSuchElementException) {
//     Console.WriteLine("替换按钮没找到");
// }

注意要在Invoke Code的Arguments里把UiPath获取到的浏览器实例传进去,参数名设为Driver,类型选IWebDriver。

三、UiPath原生活动实现(零代码)

这是RPA场景最省心的方式,直接用UiPath自带活动:

  • 先加Wait Element Appear活动,定位器选XPath//button[text()='替换'],超时设10秒,确保弹窗加载完成再操作。
  • 再加Click活动,目标元素用同一个定位器,勾选Simulate Click选项(模态弹窗有时候需要模拟系统级点击才生效)。
  • 如果还是不行,换成Click Text活动,直接输入“替换”,设置匹配方式为“完全匹配”,语言选中文。

内容的提问来源于stack exchange,提问作者Akshay Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 06:22:28