селен с историей транзакций Aliexpress - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь очистить историю транзакций от aliexpress, как показано ниже, но выходные данные для order1, order2 и country показывают только сеанс и элемент, а не показывают пример как order = "1 piece" или country = "FR"

import time
from selenium import webdriver

driver = webdriver.Chrome()

driver.get("https://www.aliexpress.com/item/Modyle-2017-New-Fashion-Her-King-and-His-Queen-Stainless-Steel-Wedding-Rings-for-Women-Men/32827876813.html?spm=2114.search0104.3.2.b0db7b0bXHTbvz&ws_ab_test=searchweb0_0,searchweb201602_1_10065_10068_10890_319_10546_317_10548_5730311_10696_453_10084_454_10083_5729211_10618_10307_538_537_536_10059_10884_10887_100031_321_322_10103,searchweb201603_51,ppcSwitch_0&algo_expid=0ffd4f5b-afac-45be-ac7e-a0c97769e137-0&algo_pvid=0ffd4f5b-afac-45be-ac7e-a0c97769e137&transAbTest=ae803_3")
time.sleep(20)
rows = len(driver.find_elements_by_xpath('//*[@id="j-transaction-feedback"]/div[2]/div[1]/div[1]/table/tbody/tr'))

print(rows)

a1 = driver.find_elements_by_xpath('//*[@id="j-transaction-feedback"]/div[2]/div[1]/div[1]/table/tbody/tr[1]/td[1]/div/i')

order1 = driver.find_elements_by_xpath('//*[@id="j-transaction-feedback"]/div[2]/div[1]/div[1]/table/tbody/tr[1]/td[2]/div[1]')
order2 = driver.find_elements_by_xpath('//*[@id="j-transaction-feedback"]/div[2]/div[1]/div[1]/table/tbody/tr[2]/td[2]/div[1]')
country = driver.find_elements_by_xpath('//*[@id="j-transaction-feedback"]/div[2]/div[1]/div[1]/table/tbody/tr[2]/td[1]/div/div/b')

print(order1)
print(order2)
print(country)

вывод

/usr/local/bin/python3.7 /Users/nayot/PycharmProjects/aliexpress/test2.py
20
[<selenium.webdriver.remote.webelement.WebElement (session="abbb90b60a6a662884cb1642398d2ec4", element="0.5214822951220621-22")>]
[<selenium.webdriver.remote.webelement.WebElement (session="abbb90b60a6a662884cb1642398d2ec4", element="0.5214822951220621-23")>]
[<selenium.webdriver.remote.webelement.WebElement (session="abbb90b60a6a662884cb1642398d2ec4", element="0.5214822951220621-24")>]

Process finished with exit code 0

1 Ответ

0 голосов
/ 30 декабря 2018

Использование атрибута .text - это правильный путь, как вы и пытались, и указал Stylez.Однако, похоже, что вы не выбрали элемент правильно, так как

driver.find_elements_by_xpath

возвращает пустой список.Если вы хотите выбрать только один элемент, вы должны использовать

driver.find_element_by_xpath

(обратите внимание на пропущенные "s").Если вы используете подход списка, вам, очевидно, нужно получить доступ к элементу напрямую через индекс.

Также обратите внимание, что вам не обязательно вводить весь XPath.

'//div[@class="order-num"]'

также должен нормально работать.Опять же, это только в том случае, если вы действительно правильно выбрали элемент на сайте.

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