硒,如果找不到元素= nan

时间:2018-12-20 03:09:24

标签: python selenium

我不想在这里打开旧线程,但是

有问题
try:
    mainimg = driver.find_element_by_xpath("//*[contains(@class,'has-post-thumbnail')]/div[1]/div[1]/div/div[1]/div[1]/div/a/img").get_attribute("src")
    img1 = driver.find_element_by_xpath("//*[contains(@class,'has-post-thumbnail')]/div[1]/div[2]/div[1]/div[2]/div/img").get_attribute("src")
    img2 = driver.find_element_by_xpath("//*[contains(@class,'has-post-thumbnail')]/div[1]/div[2]/div[1]/div[3]/div/img").get_attribute("src")
    img3 = driver.find_element_by_xpath("//*[contains(@class,'has-post-thumbnail')]/div[1]/div[2]/div[1]/div[4]/div/img").get_attribute("src")
    img4 = driver.find_element_by_xpath("//*[contains(@class,'has-post-thumbnail')]/div[1]/div[2]/div[1]/div[5]/div/img").get_attribute("src")
    img5 = driver.find_element_by_xpath("//*[contains(@class,'has-post-thumbnail')]/div[1]/div[2]/div[1]/div[6]/div/img").get_attribute("src")
except NoSuchElementException:
    print("couldnt find images")

这很好。

但是。

当我将信息压缩为csv时, 这将导致错误,提示我找不到img3。 由于NoSuchElementException.

而应通过

有没有办法我可以更改上面的代码以允许 找不到NAN

的元素

1 个答案:

答案 0 :(得分:1)

您需要检查所寻找的元素是否存在。您可以尝试以下解决方案:

img3 = driver.find_element_by_xpath("//*[contains(@class,'has-post-thumbnail')]/div[1]/div[2]/div[1]/div[4]/div/img")
if len(img3) > 0
    img3 = img3.get_attribute("src")