首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >selenium with aliexpress事务历史记录

selenium with aliexpress事务历史记录
EN

Stack Overflow用户
提问于 2018-12-30 23:48:06
回答 1查看 211关注 0票数 1

我尝试从全球速卖通中抓取交易历史,如下所示,但order1、order2和country的输出仅显示会话和元素,而不显示示例,如order = "1块“或country = "FR”

代码语言:javascript
运行
复制
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)

输出

代码语言:javascript
运行
复制
/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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-31 00:38:38

正如您已经尝试过的那样,使用.text属性是正确的方法,Stylez指出。但是,您似乎没有正确选择元素,因为

代码语言:javascript
运行
复制
driver.find_elements_by_xpath

返回一个空列表。如果只想选择一个元素,则应使用

代码语言:javascript
运行
复制
driver.find_element_by_xpath

(请注意缺少的"s")。如果使用列表方法,显然需要通过索引直接访问元素。

还要注意,您不一定需要输入整个XPath。

代码语言:javascript
运行
复制
'//div[@class="order-num"]'

正常情况下应该也能工作。同样,这仅在您实际正确选择网站上的元素时才有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53979045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档