Çözüldü Python 3'de Cümle İçine Nasıl Değişken Eklenir?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

uguratakan

Megapat
Katılım
4 Temmuz 2016
Mesajlar
742
Çözümler
4
Yer
visor01 @ istikram.
Daha fazla  
Cinsiyet
Erkek
Meslek
Mobil Uygulama Geliştirici
Bir sitede üyelerin sıralaması var. Bunların XPath adresinle sadece bir sayı değişiyor ve ben o sayıyı değiştirerek bir sonraki kullanıcıya atlamak ona mesaj göndermek istiyorum amacım bir reklam botu yapmak.

[CODE title="XPath"]html/body/div[1]/div/div[1]/div/aside/nav/div/div/div/div[2]/div[2]/div[2]/a[1]
/html/body/div[1]/div/div[1]/div/aside/nav/div/div/div/div[2]/div[2]/div[2]/a[2]
/html/body/div[1]/div/div[1]/div/aside/nav/div/div/div/div[2]/div[2]/div[2]/a[3][/CODE] Bu şekilde sondaki sayıyı değiştirmem yeterli.

Benim dediğim yöntemler bunlar.
[CODE lang="python" title="Kod"]k=1
cumle=browser.find_element_by_xpath("/html/body/div[1]/div/div[1]/div/aside/nav/div/div/div/div[2]/div[2]/div[2]/a["+k+"]")

----------------------------------------------------------------------------------------------------------------------------
onek="/html/body/div[1]/div/div[1]/div/aside/nav/div/div/div/div[2]/div[2]/div[2]/a["
sonek="]"
cumle=onek+k+sonek
[/CODE]

Bu sefer de ilk örnek için "TypeError: can only concatenate str (not "int") to str" ikinci örnek için "TypeError: can only concatenate str (not "int") to str" hatalarını veriyor.
İşin içinden çıkamadım gitti. [1] olan yeri sürekli değişecek şekilde ayarlamak istiyorum.
 
Evet doğru dikkat etmemiştim oraya.

str() fonksiyonunu kullanabilir gibi. Bunun yanında formatlama da tercih edilebilir.

Düzelmez muhtemelen. Eğer "k"yi parantez içine alırsa araya K'nın değeri değil k harfi gelir.

Direk k yı tanımladığı yerde 1'i tırnak içerisine alırsan sorun çözülecektir ya da aşağıda k yi string e chest ederek de çözebilirsin problemi.
 
str(k) fonksiyonunun çalışması lazım. Hatanın buradan kaynaklandığına emin misiniz?
pythonw_kN61mnj6Ye.png
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı