【问题标题】:Auto Searching Using UiPath使用 UiPath 自动搜索
【发布时间】:2019-09-12 13:38:50
【问题描述】:
我有一个 CSV 文件,其中包含我想在“CEO 姓名”列中添加的公司。我正在尝试按如下方式构建 UiPath 流程:
- 从 CSV 文件读取
- 在 Google 上搜索“公司”+“CEO LinkedIn”字样
- 提取他们的 LinkedIn 名称或个人资料 URL
- 复制到 Excel 电子表格中
我尝试过这样做,但是当我运行它时,搜索不会复制和粘贴。我正在使用 UiPath Studio。
【问题讨论】:
标签:
automation
rpa
uipath
【解决方案1】:
这对于 UiPath 来说应该非常简单,并且在 UiPath Academy 的基础课程中得到了很好的介绍。
从 CSV 读取数据表,使用 For Each Row 循环遍历每一行,使用 Browser Scope 与您选择的浏览器一起使用,然后键入、单击并获取文本以从 Google 获取结果。
然后只需将信息添加到相同或新的数据表,并使用写入范围写入 Excel。
总共10分钟的工作
【解决方案2】:
所以我就是这样做的。
- 用数组行的类型定义一个变量。
- 将构建数据表与您想要的所有列一起使用。
- 读取 CSV 并输出到数据表。
- 进行搜索并从 for each 循环内部获取要分配的变量。
- 为您分配数组行(假设您的每个循环都使用名称 rowToUse)这看起来像 'arrayRow = {rowToUse(1).tostring, rowToUse(2).tostring, Etc, Etc, LinkedIn}李>
- 一旦您构建了arrayRow,然后使用添加数据行活动构建到您的新空白数据表。您的循环遍历所有数据表行并构建新的数据表。然后,您可以将其写入新的 CSV。
希望这是有道理的!
【解决方案3】:
我会同时使用 Python、AppRobotic 和 Selenium。通过利用 Python 和 AppRobotic,您可以在 Windows 上与 Excel/CSV 和其他任何东西紧密集成,然后在 Python 中导入“webbrowser”,或者只需使用 AppRobotic 或 Selenium 启动浏览器。
这是一个没有 Selenium 的快速示例,但添加它并通过 XPath/ID/Name 标识符搜索文本字段/按钮/等将使您的自动化更加可靠:
import win32com.client
x = win32com.client.Dispatch("AppRobotic.API")
import webbrowser
myExcel = win32com.client.Dispatch('Excel.Application')
myExcel.Visible=True
# path to Excel file
myWorkbook = myExcel.Workbooks.Open('C:\\Users\\myUser\\Desktop\\companies.xlsx',ReadOnly=True)
# specify Excel sheet name
myWorksheet = myWorkbook.Sheets('Sheet1')
# count rows
myRange = str(myWorksheet.UsedRange.Rows.Count)
myData = myExcel.Range("A1:A"+myRange)
# loop through rows, print the result to Log Printout, and perform macro steps
for companyName in myData:
if companyName is not None:
# convert company name to string
companyName = str(companyName)
# keep track of company names in Log Printout app
x.Print(companyName)
# open with default browser
webbrowser.open_new('https://www.google.com')
# wait a bit for page to open
x.Wait(3000)
# use UI Item Explorer to get X,Y coordinates of Search box
x.MoveCursor(438, 435)
# click inside Search box
x.MouseLeftClick
# parameterize this with a cell value from Excel/CSV file
# x.Type("AppRobotic CEO Linkedin")
x.Type(companyName + " CEO Linkedin")
x.Type("{ENTER}")