我正在尝试使用断言等于函数来检查产品是否为12。请检查我尝试过的以下脚本:
def test_search(self):
driver=self.driver
driver.get("http://magento-demo.lexiconn.com/")
driver.maximize_window()
driver.find_element_by_xpath(".//*[@id='search']").send_keys("Bed & Bath")
driver.find_element_by_xpath(".//*[@id='search_mini_form']/div[1]/button").click()
lis = driver.find_element_by_xpath("//h2[@class='product-name'] / a")
self.assertEqual(12,len(lis))
答案 0 :(得分:1)
替换此:
lis = driver.find_element_by_xpath("//h2[@class='product-name']/a")
收件人:
lis = driver.find_elements_by_xpath("//h2[@class='product-name']/a")
请注意,find_elements
将返回网络元素的列表,其中find_element
仅在找到时返回一个元素。
答案 1 :(得分:0)
看起来您正在使用driver.find_element_by_xpath而不是driver.find_elements_by_xpath。 您可能还想从
中取出空格"//h2[@class='product-name'] / a"
我不认为这是有效的xpath,其中有空格。
-编辑- 那是有效的xpath,但是切换到find_elements_by_xpath对我有用-
driver = webdriver.Chrome(chrome_options = options, executable_path = driver_path)
driver.get('http://magento-demo.lexiconn.com/')
driver.find_element_by_xpath(".//*[@id='search']").send_keys("Bed & Bath")
driver.find_element_by_xpath(".//*[@id='search_mini_form']/div[1]/button").click()
lis = driver.find_elements_by_xpath("//h2[@class='product-name']/a")
print(len(lis))
输出9