使用 Selenium 从 Web 元素列表中获取 src 值
Get the src value from a list of webelements with Selenium
您好,正在尝试改编此视频中的解决方案
#scroller 100 fois pour reveler le plus d'image ( comment etre sur qu'on est à la fin ?)
n_scrolls = 100
for i in range(1, n_scrolls):
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(5)
#recupère toutes les balises img puis leurs attribut src (je ne comprend pa bien cette façon d'assigner les elements)
images = driver.find_elements_by_tag_name('img')
print(images)
images = [images.get_attribute('src') for img in images]
但输出是:
[<selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="4a4b2838-67d6-4787-a168-9e25e948a21a")>, <selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="7e3ae8f5-160a-4da6-b3a7-2be10bad8f3f")>, <selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="8c45c421-3f25-4498-85a2-565506835984")>, <selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="5ef69be7-13d7-41f1-9ec8-d8ac6e843fdd")>, <selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="626ae474-bccc-40c3-ac60-5b5f021b7bf0")>, <selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="ea0b589d-8e90-470a-ad59-a661f8d52b31")>
是否可以获取 src 属性而不是 img 标签元素?
我可以找到你犯的错误。
而不是这个
images = [images.get_attribute('src') for img in images]
应该是
images = [img.get_attribute('src') for img in images]
因为您正在迭代列表。
现在打印列表,您将获得所有 src
个值。
print(images)
因为 images
是 <img>
元素的列表,同时一起迭代 within the for
loop you need to extract the src
attribute from each individual img and also may like to avoid editing the same and create a different 。如此有效,您的代码行将是:
images = driver.find_elements_by_tag_name('img')
print(images)
image_src_list = [img.get_attribute('src') for img in images]
print(image_src_list)
您好,正在尝试改编此视频中的解决方案
#scroller 100 fois pour reveler le plus d'image ( comment etre sur qu'on est à la fin ?)
n_scrolls = 100
for i in range(1, n_scrolls):
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(5)
#recupère toutes les balises img puis leurs attribut src (je ne comprend pa bien cette façon d'assigner les elements)
images = driver.find_elements_by_tag_name('img')
print(images)
images = [images.get_attribute('src') for img in images]
但输出是:
[<selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="4a4b2838-67d6-4787-a168-9e25e948a21a")>, <selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="7e3ae8f5-160a-4da6-b3a7-2be10bad8f3f")>, <selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="8c45c421-3f25-4498-85a2-565506835984")>, <selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="5ef69be7-13d7-41f1-9ec8-d8ac6e843fdd")>, <selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="626ae474-bccc-40c3-ac60-5b5f021b7bf0")>, <selenium.webdriver.remote.webelement.WebElement (session="50f35cc8388f3b59df4042bcc09c7079", element="ea0b589d-8e90-470a-ad59-a661f8d52b31")>
是否可以获取 src 属性而不是 img 标签元素?
我可以找到你犯的错误。
而不是这个
images = [images.get_attribute('src') for img in images]
应该是
images = [img.get_attribute('src') for img in images]
因为您正在迭代列表。
现在打印列表,您将获得所有 src
个值。
print(images)
因为 images
是 <img>
元素的列表,同时一起迭代 for
loop you need to extract the src
attribute from each individual img and also may like to avoid editing the same
images = driver.find_elements_by_tag_name('img')
print(images)
image_src_list = [img.get_attribute('src') for img in images]
print(image_src_list)