📌  相关文章
📜  如何使用 Foxtrot 和Python自动化谷歌浏览器

📅  最后修改于: 2022-05-13 01:55:26.943000             🧑  作者: Mango

如何使用 Foxtrot 和Python自动化谷歌浏览器

在本文中,我们将看到如何使用 Foxtrot 和Python自动化谷歌浏览器。

什么是狐步 RPA?

机器人流程自动化 (RPA) 通过自动化流程中的重复、高容量步骤来减少员工的工作量。 Foxtrot RPA 等软件机器人模拟人类工作者的动作,通过其 UI 在应用程序中执行任务。

先决条件:

  • 安装最新版本的 Foxtrot RPA。
  • 通过在终端中运行以下命令来安装Python selenium包。
  • 安装最新的 Google Chrome 及其 Chrome 网络驱动程序。

我们需要创建一个简单的Python脚本,使用selenium和 chrome webdriver 在 Google Chrome 中自动执行工作。在这里,我们将在“https://auth.geeksforgeeks.org”自动授权,并从登录的个人资料中提取姓名、电子邮件、研究所名称。

首先,我们通过运行Python文件对其进行测试,然后我们将在 Foxtrot Python Actions Botflow 中添加这个Python脚本并运行 Botflow。

使用 webdriver 提取信息:

首先,我们需要使用selenium启动 webdriver 并向 url 发送 get 请求,然后识别 HTML 文档并找到接受用户名/电子邮件、密码和登录按钮的输入标签和按钮标签。



将用户给定的电子邮件和密码分别发送到输入标签:

driver.find_element_by_name('user').send_keys(email)
driver.find_element_by_name('pass').send_keys(password)

要识别按钮标签并通过selenium webdriver 使用 CSS 选择器单击它:

单击登录后,应加载一个包含姓名、研究所名称和电子邮件 ID 的新页面。

识别包含上述数据的标签并选择它们:



从返回的选定 CSS 选择器列表中获取每个标签的文本:

name = container[0].text
try:
    institution = container[1].find_element_by_css_selector('a').text
except:
    institution = container[1].text
email_id = container[2].text

最后,打印输出:

下面是实现:

Python3
# Import the required modules
from selenium import webdriver
import time
  
# Main Function
if __name__ == '__main__':
  
    # Provide the email and password
    email = ''
    password = ''
  
    options = webdriver.ChromeOptions()
    options.add_argument("--start-maximized")
  
    # Provide the path of chromedriver
    # present on your system.
    driver = webdriver.Chrome(
        executable_path="C:/chromedriver/chromedriver.exe", 
      chrome_options=options)
    driver.set_window_size(1920, 1080)
  
    # Send a get request to the url
    driver.get('https://auth.geeksforgeeks.org/')
    time.sleep(5)
  
    # Finds the input box by name
    # in DOM tree to send both
    # the provided email and password in it.
    driver.find_element_by_name('user').send_keys(email)
    driver.find_element_by_name('pass').send_keys(password)
  
    # Find the signin button and click on it.
    driver.find_element_by_css_selector(
        'button.btn.btn-green.signin-button').click()
    time.sleep(5)
  
    # Returns the list of elements
    # having the following css selector.
    container = driver.find_elements_by_css_selector(
        'div.mdl-cell.mdl-cell--9-col.mdl-cell--12-col-phone.textBold')
  
    # Extracts the text from name,
    # institution, email_id css selector.
    name = container[0].text
    try:
        institution = container[1].find_element_by_css_selector('a').text
    except:
        institution = container[1].text
    email_id = container[2].text
  
    # Output
    print({"Name": name, "Institution": institution,
           "Email ID": email})
  
    # Quits the driver
    driver.quit()


输出:

使用 Foxtrot 自动化脚本

在这里,我们将使用 foxtrot 自动化脚本。

第 1 步:打开 Foxtrot 应用程序并确保在帐户设置中选择级别为专家:

步骤 2:创建一个新的 Botflow 并单击操作面板中的高级选项卡并选择Python。



第 3 步:应该会出现一个新窗口,您可以在其中选择方法作为代码,并将之前的脚本复制粘贴到提供的代码框中。

或者,您可以选择包含脚本的Python文件的方法:

第 4 步:要在 Foxtrot 中显示上述脚本的输出,我们需要创建一个变量。单击“保存到”旁边的复选框,然后选择右侧的魔术按钮。

创建变量

第 5 步:应出现一个名为 Expression 的新窗口,在项目中选择变量,然后单击窗口右上角的“+”按钮。

步骤 6:提供名称并选择类型为文本,然后单击确定。



再次单击“确定”,然后在“保存到框”中键入变量的名称。下图表示执行上述步骤后的最终状态。

单击“确定”以运行 BOT:

步骤 7:要查看输出,请在 BotFlow 中选择变量,然后单击先前选择的变量的铅笔按钮。

输出与我们之前在终端上运行脚本时看到的相同:

这就是我们如何使用Selenium、 Python和 Foxtrot 自动化 Google Chrome。