3

那里有高级自动化人员吗?我正在使用带有 SST 的 Python 编写自动化脚本,并且在使用 SST 时遇到了一些限制。我想从标准 Selenium 库中借用一个函数以在我的脚本中使用,在该脚本中我双击一行文本以突出显示它。我在脚本的开头使用 SST 创建了一个 webdriver 实例,并开始在网页上执行操作。我的问题是:有什么方法可以与 Selenium 函数共享该实例来执行这一操作。我意识到我可以在 Selenium 中完成整个脚本,但我工作的公司致力于 SST,这不会被接受。我不认为有人会介意我加入一个 Selenium 函数。由于 SST 是基于 Selenium 构建的,我想一定有一个新的类已经写好了,我可以导入它来执行这样的动作。我要执行的代码如下所示。但是当然,当我使用 Selenium 创建 webdriver 的第二个实例时,会打开一个新的浏览器,然后脚本会在逻辑上分成两半。有小费吗?

from sst.actions import *
from selenium import webdriver
from selenium.webdriver.firefox.webdriver import *
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import *

go_to('http:/yadayada.net/')
## perform a bunch of actions
text = ## get text element with SST

driver = webdriver.Firefox()
action = ActionChains(driver)
action.double_click(text)
action.perform()
4

1 回答 1

2

要访问底层 webdriver,您需要参考:

sst.actions._test.browser

下面是一个直接使用实例的SSTwebdriver.Firefox脚本示例:

import sst.actions

# a regular SST action
sst.actions.go_to('http:/testutils.org/sst')

# now using webdriver directly 
sst.actions._test.browser.get('http://www.python.org')

您问题中的示例可以写成:

from sst.actions import *
from selenium.webdriver.common import action_chains

go_to('http:/yadayada.net/')
## perform a bunch of actions
text = ## get text element with SST

driver = sst.actions._test.browser
action = action_chains.ActionChains(driver)
action.double_click(text)
action.perform()
于 2013-08-08T16:38:01.513 回答