打印多个具有不同 ID 的图像 url
printing multiple images url's with different id's
我正在尝试打印具有不同 ID 的多张图像 url。
我在 python 中使用 selenium,我一直在尝试这段代码:
for i in range (5000):
path= "product-collection-image-"+str(i)
try:
image = driver.find_element_by_id(path)
img_src = image.get_attribute("src")
print img_src
except:
pass
我要打印的所有图像都有一个名为 "product-collection image-" 的 ID,然后是一些从 1 到 5000 的整数。
使用此代码,我可以打印图像 urls,但它们按数字顺序排列。我希望它按照它们在页面中出现的顺序排列,因为我想将它与其他字段匹配。
我是 Python 的新手,所以我对复杂的语法有一些困难。
我一直在尝试在
中使用正则表达式
路径="product-collection-image-"+.*
但它给我一个语法错误
有没有一种方法可以使用 selenium 获取具有一定范围 ID 的所有元素并按照它们出现在页面上的顺序打印出来?
另外,在列表中,如何获取属性,例如 src 属性?
抱歉,我正在开始学习曲线!
只需使用部分id
匹配:
image_srcs = [img.get_attribute("src")
for img in driver.find_elements_by_css_selector('[id^="product-collection-image-"]')]
其中 ^=
表示 "starts with"。
请注意,通过这种方式,您将按照图像元素在页面上出现的顺序获取图像元素。
我正在尝试打印具有不同 ID 的多张图像 url。 我在 python 中使用 selenium,我一直在尝试这段代码:
for i in range (5000):
path= "product-collection-image-"+str(i)
try:
image = driver.find_element_by_id(path)
img_src = image.get_attribute("src")
print img_src
except:
pass
我要打印的所有图像都有一个名为 "product-collection image-" 的 ID,然后是一些从 1 到 5000 的整数。
使用此代码,我可以打印图像 urls,但它们按数字顺序排列。我希望它按照它们在页面中出现的顺序排列,因为我想将它与其他字段匹配。
我是 Python 的新手,所以我对复杂的语法有一些困难。 我一直在尝试在
中使用正则表达式路径="product-collection-image-"+.*
但它给我一个语法错误
有没有一种方法可以使用 selenium 获取具有一定范围 ID 的所有元素并按照它们出现在页面上的顺序打印出来? 另外,在列表中,如何获取属性,例如 src 属性?
抱歉,我正在开始学习曲线!
只需使用部分id
匹配:
image_srcs = [img.get_attribute("src")
for img in driver.find_elements_by_css_selector('[id^="product-collection-image-"]')]
其中 ^=
表示 "starts with"。
请注意,通过这种方式,您将按照图像元素在页面上出现的顺序获取图像元素。