如何找到多个现有元素并在Python + Selenium中显示它们

时间:2015-06-17 02:35:59

标签: python selenium

我想在Selenium中使用Python实现的目标是能够检查多个元素以查看它们是否存在。然后,我想显示一条消息" present"如果它们在场,则会显示“不存在”的消息。当他们不在被测试的页面上时。我还希望测试在测试之前注册消息,抓取页面的标题并将其输入到打印语句中以读出类似于"测试测试页面的内容。"我不知道解决这个问题的最佳方法。

我是否能以某种方式输入我的代码,而不是将变量设置为我要检查的元素的标记/类名,以及与它们一起使用的if / else语句?

以下是我设法开始工作的代码,但它并不像我想要的那样完美。

import unittest
from selenium import webdriver

class Test(unittest.TestCase):

   def setUp(self):
   self.driver = webdriver.Chrome()

   # What is being tested
   def test_search(self):
   driver = self.driver
   driver.get("localhost:8888/")
   self.assertIn("localhost:8888/", driver.title)
   if driver.title == "http://localhost:8888/":
       print("Testing Test Page...")
   else:
       print("Pages don't match up. Please check the code.")

   elem = driver.find_elements_by_tag_name("body")

   if len(elem):
       print(elem.tag_name)
   else:
       print(elem.tag_name, " is not present")

   # Clean up testing
   def tearDown(self):
   self.driver.close()

if __name__ == "__main__":
 unittest.main()

0 个答案:

没有答案