-1

Quand j'extrais des données de la feuille Excel en utilisant la fonction def dans python sélénium, je Je reçois la sortie en guillemets simples et doubles ("", "", []). Je ne veux pas de sortie dans les guillemets simples ou doubles.Lorsque j'extrais des données de la feuille excel en utilisant la fonction def en python, j'obtiens une sortie en guillemets simples et doubles ("", '', [])

Également lorsque je lis des données de la feuille Excel dans "Application Gmail" en utilisant du sélénium, il lit en guillemets simples et doubles.

Pouvez-vous m'aider s'il vous plaît à résoudre ce problème.

from selenium import webdriver 
from time import sleep 
from xlrd import open_workbook 
import xlrd 
import xlwt 



book=xlrd.open_workbook("E:\\Email.xlsx") 
print(book.nsheets) 
SheetName =book.sheet_by_name("gmail") 
rows=SheetName.nrows 
cols=SheetName.ncols 
def getcell(rows,cols): 

    table=list() 
    record=list() 

    for x in range(rows): 
     for y in range(cols): 
      record.append(SheetName.cell(x,y).value)  
      table.append(record) 
      record=[] 
      rows=rows+1 

    return table; 

v=getcell(1,1) 
print(str(v)) 

SORTIE:

[[ 'abcdefg']]

[[ '[email protected]']]

driver = webdriver.Chrome("C:\\Users\\home\\workspace\\geeko\\chromedriver.exe") 
driver.maximize_window() 
driver.get("https://www.gmail.com/") 
elem=driver.find_element_by_xpath("//*@id='identifierId']").send_keys(str(getcell(1, 1))) 
+0

Pouvez-vous essayer de formater votre code? En outre, pouvez-vous dire exactement ce que vous lisez dans la feuille de calcul et quelle est la valeur attendue que vous voulez? – Tom

+0

Je veux la sortie "[['abcdefg']] [['[email protected]']] sans guillemets simples, entre guillemets ou entre parenthèses – CPP

+0

Je veux dire que je reçois la sortie" [['abcdefg']] [['abc @ gmail.com ']] avec des guillemets simples et doubles et des crochets. Je veux o/p sans guillemets simples et entre guillemets – CPP

Répondre

0

Ok ajouter cette fonction à votre code (Notez qu'il va concaténer la table ensemble dans une chaîne, mais vous pouvez le modifier avec les délimiteurs dont vous avez besoin

def strip_table(t): 
    out_str = "" 
    for item in t: 
     out_str += str(item[0]) 

    return out_str 

Remplacez ensuite

elem=driver.find_element_by_xpath("//*@id='identifierId']").send_keys(str(getcell(1, 1))) 

avec

elem=driver.find_element_by_xpath("//*@id='identifierId']").send_keys(strip_table(getcell(1, 1))) 
+0

Ne fonctionne pas.S'il vous plaît aider les gars – CPP

+0

CPP je viens de mettre à jour la réponse – Dman

+0

non travaillé. En ajoutant le code ci-dessus, la transmission de données vers la zone de texte gmail est null. Eclipse n'émet aucun message d'erreur. – CPP