有高级自动化人员吗?我正在使用带有SST的Python编写一个自动化脚本,并且在使用SST时遇到了一些限制。我想从标准Selenium库中借用一个函数,在脚本中双击一行文本来突出显示它。我在脚本的开头用SST创建了一个webdriver实例,并开始在web页面上执行操作。我的问题是:是否有任何方法可以与Selenium函数共享该实例来执行此操作。我知道我可以用Selenium编写整个脚本,但我供职的公司致力于SST,这是不被接受的。不过,我想没有人会介意我加入一个硒函数。由于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()
最佳答案
要访问基础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()