2016-04-12 14 views
0

こんにちは私はtkinter GUI.iからセレンのwebdriverを使ってウェブサイトを開いています。ウェブブラウザが開き始めました。マウスカーソルを使ってそのウェブページ上のテキストを選択し、もう一度GUI上の別のボタンを押すと、tkinter GUIの他の入力エリアに選択したテキストが表示されるはずです。 したがって、この機能を追加することは可能ですか?ここに私のコードは次のとおりです。 -PythonでSeleniumを使ってJavascriptを実行する(GUIとしての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

はい、私はそれがうまくいくと思います。これに何か問題がありますか? – Buaban

+0

はい、getSelectionText()が定義されていないというエラーが表示されます。 –

答えて

0

根本的な原因は、あなたのウェブサイトには、メソッドgetSelectionText()を持っていないです。以下のコードを参照してください。

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) 
関連する問題