2016-04-12 11 views
0

merhaba ben bir url girişinde selenyum webdriver kullanarak bir web sitesi açma GUI.i girişte url vermek ve düğmeye basın zaman GUI bir giriş ve bir düğme var web tarayıcısı şimdi açılmaya başlıyorum ben başka bir işlevsellik eklemek istiyorum, eğer fare imlecimi kullanarak bu web sayfasındaki herhangi bir metni seçip tekrar GUI üzerinde başka bir tuşa basarsanız, seçilen metni teneter GUI'deki başka bir giriş alanında göstermeliyim. Yani, bu işlevselliği eklemek mümkün mü? İşte benim kodudur: -python'da Selenium'u kullanarak Javascript'i yürütme (GUI olarak Tkinter)

url1 = Entry(top, bd =3, width = 50) 
url1.place(x=800 , y=100) 

def open(url): 
    driver = webdriver.Firefox() 
    driver.set_window_size(600, 500) 
    driver.set_window_position(300,300) 
    driver.get(url) 
    driver.implicitly_wait(20) 
    driver.execute_script("text = getSelectionText(); alert(text)") 

# submit button which is performing action on submit 
submit1 = Button(top, text="Open", width=15, bg='lightblue', command=lambda: open(url1.get())) 
submit1.place(x=1200, y=100) 
+0

Evet, bence çalışmalı. Bununla ilgili bir sorunun var mı? – Buaban

+0

evet, getSelectionText() öğesinin tanımlanmadığı bir hatayı gösterir. –

cevap

0

kök neden web sitesi yöntemi getSelectionText() yok olduğunu. Ekleyebilir, daha sonra aşağıdaki kodu inceleyiniz: aşağıdaki kod bakınız:

jsScript = ''' 
function getSelectionText() { 
    var text = ""; 
    if (window.getSelection) { 
     text = window.getSelection().toString(); 
    } else if (document.selection && document.selection.type != "Control") { 
     text = document.selection.createRange().text; 
    } 
    return text; 
} 

text = getSelectionText(); alert(text) 
''' 

driver.execute_script(jsScript)