xPath не переходит на следующую страницу - PullRequest
1 голос
/ 22 мая 2019

Когда я использую приведенный ниже код, веб-сайт не переходит на следующую страницу.

import unittest
from selenium import webdriver
import time

class ProductPurchase(unittest.TestCase):
    """
    Purchase the product on the website http://automationpractice.com/index.php
    """
    # Preconditions
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.get("http://automationpractice.com/index.php")
        self.driver.maximize_window()
    def teardown(self):
        self.driver.quit()
    # Buying a product on the website 
    def test_wrong_agreement(self):
        driver = self.webdriver
        time.sleep(2)
    #Click on "Quick view"
        quickview_btn = driver.find_element_by_xpath("/html/body/div/div[2]/div/div[2]/div/div[1]/ul[1]/li[1]/div/div[1]/div/a[2]").click()


if __name__ == '__main__':
    unittest.main(verbosity=2)

Он должен переходить на следующую страницу, но xPath не работает.

Ответы [ 2 ]

1 голос
/ 22 мая 2019

Попробуйте следующий xpath и используйте javaScript executor для нажатия на Quick View Этот код будет щелкать 1-й элемент на странице. Если вы хотите последовательно нажимать все кнопки Quick Viw, вам необходимо написать логику далее.

driver.get("http://automationpractice.com/index.php")
driver.maximize_window()
ele_Quikview=driver.find_element_by_xpath('(//a[@class="quick-view"])[1]')
driver.execute_script("arguments[0].click();",ele_Quikview)  
1 голос
/ 22 мая 2019

Здравствуйте и удачи в изучении автоматизации тестирования.

Первое, что я делаю, когда xpath не работает, это проверяю его, обычно используя расширение типа this , чтобы убедиться, чтоэто правильно.Кроме того, лучше использовать более короткий xpath, чтобы было меньше места для ошибок, т. Е. "//img[@title='Printed Dress']"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...