• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Soru excel vba selenium ile veri çekme hk.

Katılım
6 Mart 2018
Mesajlar
3
Excel Vers. ve Dili
Office 2016 - Tur & En
Merhabalar,
Öncelikle herkese sağlıklı günler dilerim.
Google Translate' den çeviri yapıp hücreye yazdırmak istiyorum.
web tarayıcım chrome.
selenium kurdum referansları etkinleştirdim.
sitede giriş metni alanına çevirilmesini istediğim metni yazdırabiliyorum. kaynak ve hedef dilleri seçtirebiliyorum.
ancak çevirilen metni b2 hücresine yazdıramıyorum.
kodun yazabildiğim kadarını ekledim.
sayfadan çeviriyi b2 hücresine alabilmem hususunda desteğinizi rica ediyorum :)

Kod:
Sub Tercüme()
    Dim crm As New ChromeDriver
    Dim sl, tl As String
    
    Application.CutCopyMode = False
    
        sl = "sl=" & Sayfa1.Range("a1")
        tl = "tl=" & Sayfa1.Range("b1")
        
            crm.Get "https://translate.google.com/?" & sl & "&" & tl & "&op=translate"
            crm.Wait (1000)
            
            crm.FindElementByClass("er8xn").SendKeys (Sayfa1.Range("a2"))
            crm.Wait (2000)
'buradan gerisini tamamlayamadım.
End Sub
 
Aşağıdaki kod ile deneyin.
Kod:
Sayfa1.Range("b2") = crm.FindElementByXPath("//*[@id='ow158']/div[1]/span[1]/span/span").Text
 
Aşağıdaki kod ile deneyin.
Kod:
Sayfa1.Range("b2") = crm.FindElementByXPath("//*[@id='ow158']/div[1]/span[1]/span/span").Text
kod için çok teşekkür ediyorum.
TR>>EN çeviri için çalışıyor ancak hedef dili değiştirince

run -time error '7':
nosuchelementerror

hatası alıyorum.
 
Örnek dosyanızı eklerseniz yardımcı olmaya çalışayım
 
Aşağıdaki kod ile deneyin.
Kod:
Sayfa1.Range("b2") = crm.FindElementByXPath("//*[@id='ow158']/div[1]/span[1]/span/span").Text
Örnek dosyanızı eklerseniz yardımcı olmaya çalışayım
hocam ilginiz için çok teşekkür ederim.
sizin verdiğiniz kod satırını aşağıdaki ile değiştirdim. şimdilik tüm dillerde sorunsuz çalışıyor. Hata verirse detaylı inceleriz :)
iyi geceler & sağlıklı günler dilerim.
Kod:
Sayfa1.Range("b2") = crm.FindElementByClass("J0lOec").Text
 
Geri
Üst