как получить xpath для названия продукта в виде гиперссылки - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь получить очистку данных по ссылке ниже:

https://www.amazon.co.uk/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=887961316995

Но не удалось получитьxpath для названия продукта (вы можете проверить, нажав на ссылку).Как это гиперссылка, так что не понимаю, что кодировать в self.hasxapth ?

if self.hasXpath('//[@id="result_0"]/div/div/div/div[2]/div[1]/div[1]/a'):
           self.browser.find_element_by_link_text("Barbie Star Light Adventure Galaxy Dog Figure, Pink").click()
            if self.hasXpath("//*[@id='productDescription']"):
                description_list = self.browser.find_elements_by_xpath("//*[@id='productDescription']")

                description = []
                for curr_description in description_list:
                    if curr_description.text.encode('ascii','ignore').strip()!="":
                        description.append(curr_description.text.encode('ascii','ignore').strip())
                description_string = "|".join(description)

            product_dict['Product Description']=description_string
            print product_dict

Ответы [ 2 ]

1 голос
/ 12 марта 2019

С помощью следующего xpath вы можете получить название продукта. Если найдено несколько элементов, создайте список элементов, а затем получите текст для каждого элемента

xpath : "// ul [@ id = 's-results-list-atf'] // a [содержит (@ класс, 's-access-detail-page')]" "

0 голосов
/ 12 марта 2019

Страница, которую вы упомянули, использует тег h5 для названия продукта.Вы можете использовать следующий локатор:

driver.find_element_by_tag_name('h5');
...