[英]Using same Selenium webdriver for multiple actions on website?
我正在嘗試創建一個 GUI 來修改網站上的 Javascript 文件。 它用於創建 Leaflet 標記,而無需接觸代碼。
所以我對設置的想法是,我首先將 Webdriver 和 go 啟動到第一個 function 中的相應 JavaScript 文件。
def start():
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Chrome(executable_path="chromedriver")
browser.get(---> move to the javascript file on the website)
return browser
然后我想要幾個可以作用於文本區域的其他函數,比如添加行、刪除行等。問題是在其他函數中,我還必須從 function 開始使用“瀏覽器”變量:
def CreateMarker():
from selenium.webdriver.common.keys import Keys
code = code.get()
textarea = browser.find_element_by_class_name('textarea')
textarea.send_keys(sending some keys)
safe, yadada etc....
在 GUI(使用 tkinter 制作)中,我有一個按鈕綁定到開始 function 到 go 網站和文件以及另一個按鈕來添加標記代碼。
所以問題是,createmarker function 無法識別瀏覽器變量,當我將 CreateMarker function 中的變量作為 CreateMarker(browser) 傳遞時,它會抱怨“瀏覽器”未定義,只要我想運行 GUI。 .
好的,所以我終於讓一切都按照我想要的方式工作了。 破解位只是使 webdriver 成為全局變量,並在主 function 中以正確的方式調用它。
所以現在我在主 GUI 上有兩個按鈕,如下所示:
# Button to start the webdriver
Button(window, text = "Start", width=11, command=init.actions.start).grid(row=1, column=1, sticky=W)
# Textbox for what to write
Label (window, text='Enter text', bg="black", fg="white") .grid(row=2, column=0, sticky=W)
text = Entry(window, width=20, bg="white")
text.grid(row=3, column =0, sticky=W)
我有一個單獨的文件,其中存儲了連接到按鈕的所有功能。 啟動 webdriver 並將文本寫入 textarea 的函數如下所示:
class actions:
def start():
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
global browser
browser = webdriver.Chrome(executable_path="chromedriver")
browser.get("go to the login page")
login = browser.find_element_by_name("USER_LOGIN")
login.send_keys("USERNAME HERE")
pw= browser.find_element_by_name("USER_PASSWORD")
pw.send_keys("PASSWORD HERE")
pw.send_keys(Keys.ENTER)
time.sleep(5)
browser.get("page with the file")
return browser
def create_code(browser, text):
from selenium.webdriver.common.keys import Keys
Text=text.get()
textarea.send_keys(Text)
所以現在我有一個按鈕來初始化 webdriver 和一個單獨的按鈕來寫入文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.