-1

In every other tab, index numbers and data coming to txt are reset, I want to save the data to txt one after the other without resetting.

There is no other problem in the codes other than these errors

Code:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import pandas as pd
import time
import csv
import re


driver = webdriver.Chrome()

url ="http://google.com"
driver.get(url)

searchInput = driver.find_element("xpath",'/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input')
time.sleep(1)
searchInput.send_keys("dişçi")
time.sleep(2)
searchInput.send_keys(Keys.ENTER)
time.sleep(2)
result = driver.page_source
result = driver.find_elements(By.CSS_SELECTOR, ".GyAeWb cite.iUh30")

for index,element in enumerate (result):
  print(index+1,element.text)

result = []
result = list(set(result))
 
time.sleep(2)

try:
    while 1:
        nextInput = driver.find_element(By.XPATH,'//*[@id="pnnext"]/span[2]').click()
        result = driver.find_elements(By.CSS_SELECTOR, ".GyAeWb cite.iUh30")

        for index,elements in enumerate (result):
            print(index+1,elements.text)
        
        count = 1
        with open("siteler.txt","w",encoding="UTF-8") as file:
            for item in result:
                file.write(f"{count}-{item}\n")
                count+=1
      
except Exception as e:
    print(e)

finally:
    print("there is no element with '//*[@id='pnnext']/span[2]' XPATH")


driver.close()

This is how it registers:

1-<selenium.webdriver.remote.webelement.WebElement (session="488459ee0c4c000e56111d8e98626783", element="35944ab0-591a-48e6-834f-93e3a75a9192")>
  • 2
    I am not sure if I understand your question but if you want to append entries to a txt file choose the option `a` to append. – dosas Jul 05 '22 at 11:24
  • The data I pull is not saved in txt. Index numbers and data coming to txt are reset in each tab, I want to save the data to txt one after the other without resetting. – suleymnkpln Jul 05 '22 at 11:28
  • `open("siteler.txt","w",encoding="UTF-8") ` That looks like a txt file that is overwritten in the while loop, to me. – dosas Jul 05 '22 at 11:31
  • Can you help if you know the solution for the errors? – suleymnkpln Jul 05 '22 at 11:44

1 Answers1

1

As already stated in my comment: Use 'a' instead of 'w' as an option to open the file

with open("siteler.txt", "a") as file:
   ...

See also How do I append to a file? since this question might be a duplicate.

dosas
  • 567
  • 4
  • 18