在Python / SST自动化脚本中使用Selenium函数

时间:2013-08-08 16:06:42

标签: python selenium

那里有高级自动化人员吗?我正在使用带有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()

1 个答案:

答案 0 :(得分:2)

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

sst.actions._test.browser

以下是直接使用webdriver.Firefox实例的SST脚本示例:

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()