全部。
下面的代码部分是使用Python 3.x的较大程序的代码段。 colorSkusArray
具有值:
[[https://us.testcompany.com/eng-us/products/test-productv#443],[https://us.testcompany.com/eng-us/products/test-productv#544],[https://us.testcompany.com/eng-us/products/test-productv#387]]
listTwo = []
for a in range(0, len(colorSkusArray)):
browser.get(colorSkusArray[a])
print(colorSkusArray[a]) # the link to each skus page we'll pull views from
sBin = browser.find_elements_by_xpath("// *[ @ id = 'lightSlider'] / li / img")
listOne = []
for b in sBin:
storer = b.get_attribute('src')
print(storer) # the src of each img on the sku's page
listOne.append(storer)
print('NEXT ELEMENT')
listTwo.append(listOne)
del sBin
del storer
del listOne[:]
print(listTwo)
此处的打印输出内容如下:
https://us.testcompany.com/eng-us/products/test-productv#443
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM2_Front%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Side%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Interior%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Other%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Other%20view2.jpg?wid=140&hei=140
NEXT ELEMENT
https://us.testcompany.com/eng-us/products/test-productv#544
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM2_Front%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Side%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Interior%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Other%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Other%20view2.jpg?wid=140&hei=140
NEXT ELEMENT
https://us.testcompany.com/eng-us/products/test-product#M543
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM2_Front%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Side%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Interior%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Other%20view.jpg?wid=140&hei=140
https://us.testcompany.com/images/is/image/lv/1/PP_VP_L/test-productv#443_PM1_Other%20view2.jpg?wid=140&hei=140
NEXT ELEMENT
[[], [], []]
我出现(?)与sBin
WebElement有关的问题。应该发生什么:
storer
的以下5个地址中的每个地址之前的地址。 listTwo
)应该打印所有内容:UNSUCCESSFUL。查看输出底部listTwo
打印输出中的三个空列表。 关于2):我现在已经看了将近四个小时,并且无法弄清楚发生了什么。调试一段时间之后,我可以猜到sBin
变量可能无法正确更新。我在每个循环结束时插入了一个del
命令来重置它,但这并没有解决问题。否则,我不知道为什么同样的5 src
会继续追加,尽管每次都会将新的链接传递给browser.get()方法。
关于3):我之前打印过列表清单,所以我相信PyCharm应该能够处理这个打印输出。也许我过去印刷的那些在某种程度上是不同的(考虑到输出的差异),但据我所知,它们完全相同。我已经读过关于使用Numpy打印阵列的信息,但就我所知,在这里打印并不是必要的。
我是Python和Selenium的新手,所以所有建议和评论都表示赞赏!
答案 0 :(得分:0)
我已经解决了2.通过将browser.quit()
放在for
循环的末尾,sBin
WebElement现在正在循环的每次迭代中正确更新。我明白为什么会这样,虽然我不明白为什么这是必要的。它没有回答我原来的问题,但它显然解决了这个问题......
关于3.,我仍然不知道什么是错的。如果列表(例如List[0]
)会打印好其内容,我就不明白为什么锯齿状列表只打印空[]
。