Selenium + Python:使用循环

时间:2016-06-02 23:40:53

标签: python selenium xpath

我正在编写一个关于在多个滑块上移动标记的测试用例。我已经用行为完成了它,但是我在不使用循环的情况下调用每个滑块和其上的每个标记,如下所示: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

0 个答案:

没有答案