AnxiousDino
AnxiousDino

Reputation: 197

How to write on new line in txt. file

How come this code only returns a single line in the .txt file? I want to write the value on a new line every time.

    find_href = driver.find_elements_by_css_selector('img.gs-image.gs-image-scalable')
    for my_href in find_href:
        with open("txt.txt", "w") as textFile:
            textFile.writelines(str(my_href.get_attribute("src")))
        print(my_href.get_attribute("src"))

Upvotes: 0

Views: 3379

Answers (1)

Barmar
Barmar

Reputation: 780889

writelines() doesn't add newlines. You need to concatenate the newline explicitly. Also, you just have a single string, so you shouldn't be calling writelines(), which expects a list of lines to write. Use write() to write a single string.

Also, you should just open the file once before the loop, not each time through the loop. You keep overwriting the file rather than appending to it.

ind_href = driver.find_elements_by_css_selector('img.gs-image.gs-image-scalable')
with open("txt.txt", "w") as textFile:
    for my_href in find_href:
        textFile.write(str(my_href.get_attribute("src")) + "\n")
    print(my_href.get_attribute("src"))

Upvotes: 1

Related Questions