【发布时间】:2017-03-20 16:58:14
【问题描述】:
我是 Selenium 的新手。我开始通过书本学习 Selenium。而且我与 Selenium 的不明确行为作斗争。出于教育目的,我使用这个网站: http://magento-demo.lexiconn.com/ - 我正在尝试通过类名(即:class='button search button')或通过 xpath 查找搜索按钮
search_button = self.driver.find_element_by_xpath('/html/body/div/div[2]/header/div/div[4]/form/div[1]/button')
或
search_button = self.driver.find_element_by_class_name('button')
但每次 selenium 都找不到它。请帮助我理解这种行为的原因。谢谢你
我使用了 Selenium IDE,它显示 XPATH: //button[@type='submit']
当我尝试通过 xpath 查找元素时,我遇到了同样的错误,这很奇怪。请指教。
我的代码是:
import unittest
from selenium import webdriver
class HomePageTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
#create new Firefox session
cls.driver = webdriver.Firefox()
cls.driver.implicitly_wait(30)
cls.driver.maximize_window()
#navvigate to application home page
cls.driver.get('http://magento-demo.lexiconn.com/')
def test_search__text_field_max_length(self):
#get the search text box
search_field=self.driver.find_element_by_id("search")
#check maxlenght attribute st to 128
self.assertEqual("128",search_field.get_attribute("maxlength"))
def test_search_button_enabled(self):
# get Search button
search_button = self.driver.find_element_by_class_name('button')
# check Search button is enabled
self.assertTrue(search_button.is_enabled())
@classmethod
def tearDown(self):
#close the browser window
self.driver.quit()
if __name__=='__main__':
unittest.main(verbosity=2)
【问题讨论】:
-
请包含您收到的任何错误消息。