我们要进行的操作重点就是文字的提取,然后循环,提取不是吗?
try:
# 使用XPath定位带有index属性的FrameLayout元素
frame_layout_elements = WebDriverWait(driver, timeout, poll_frequency).until(
EC.presence_of_all_elements_located(
(By.XPATH, "//android.support.v7.widget.RecyclerView/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup"))
)
print("元素列表长度:", len(frame_layout_elements))
for i, frame_layout in enumerate(frame_layout_elements):
# 在每个FrameLayout元素下查找TextView
text_views = frame_layout.find_elements(By.XPATH,".//android.widget.TextView")
for text_view in text_views:
# 使用getattr获取TextView的text属性值
text_value = getattr(text_view, 'text', None)
if text_value is not None:
print(f"在{i}下的TextView文本:{text_value}")
元素列表长度: 7
在0下文本:¥2.8
在1下文本:0万幸素食皇鱼风味调味面制品 散装 约23g/袋
在1下文本:临沭县散装肉干肉脯复购榜第2名
在1下文本:月售17
在1下文本:第1件¥0.65
在1下文本:¥0.7
在2下文本:0旺仔 旺仔牛奶 245ml/瓶
在2下文本:罐装
在2下文本:原味
在2下文本:月售100+
在2下文本:好评率100%
在2下文本:第1件¥4.99
在2下文本:¥6.79
在3下文本:0永久好兄弟 葱香味香香葱膨化零食 40g/袋
在3下文本:月售16
在3下文本:¥1.19
在4下文本:0好丽友 呀土豆蜂蜜黄油味薯条 40g/袋
在4下文本:混合口味
在4下文本:袋装
在4下文本:月售17
在4下文本:第1件¥3.39
在4下文本:¥4.49
在5下文本:¥5
在5下文本:满12可用
在5下文本:今日到期
在5下文本:领
在5下文本:销量
在5下文本:价格
在6下文本:0【隐私发货】冈本okamoto 纯薄天然胶乳橡胶避孕套极薄安全套优惠三支装 3个/盒
在6下文本:月售2
有的小伙伴已经发现。这数据有点不全,另外还有一点就是,把有的导航栏进分解了。
其实是可以通过各种判断进行规避的,如何判断是否有图片栏属性。等。另外 会发现即使文字也会有不同属性,其实是可以通过层级进行判断的。总之,都是可以了。