我正在编写一个关于在多个滑块上移动标记的测试用例。我已经用行为完成了它,但是我在不使用循环的情况下调用每个滑块和其上的每个标记,如下所示:https://github.com/Ketochka/Selenium_Behave_tests/blob/master/steps/Selenium_slider_dance.py 它有效,但我希望代码更短。
我尝试以这种方式使用它(下面),但它不起作用。 任何人都可以请求如何通过循环查找元素数组?
import unittest
import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
class Slider_Test(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
def test_sortable_elements(self):
driver = self.driver
driver.get("http://jqueryui.com/slider/#multiple-vertical")
frame_ = driver.find_element_by_tag_name("iframe")
driver.switch_to_frame(frame_)
driver.implicitly_wait(5)
eq_current = []
eq_marker = []
for i in range(1,8):
eq_current[i] = driver.find_element_by_xpath("//body/div[@id='eq']/span["+str(i)+"]/div")
eq_marker[i] = driver.find_element_by_xpath("//body/div[@id='eq']/span["+str(i)+"]/span")
time.sleep(.1)
print(eq_current[i].size['height'])
def tearDown(self):
self.driver.close()
self.driver.quit()
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(Slider_Test)
unittest.TextTestRunner().run(suite)
https://drive.google.com/open?id=0BxKq4HdrUqSkOEtxRzJXTkNiQzQ