[selenium] 取得したテキストボックスの値をChromeに渡したい
Python初心者です。
以下のことをしたいのですがつまづいているので教えていただきたいです。
①yyyy/mm/ddを入力するウインドウを表示(テキストボックス設置)
②日付入力して作成ボタンを押したら、指定URLがChromeで開いて自動ログイン。
③対象ページまで進み、その中に日付入力項目があるので、そこに②で入力された日付を入れる
④入れたら次のアクションに進む。
この②から③の日付の受け渡しが全くわかりません。
※①と②③はそれぞれ単体で作ってみたのですが・・・
▼日付入力用のウインドウ表示
#ライブラリのインポート
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import tkinter as tk
#年月日入力用の小画面のクラス
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master.geometry("300x150+50+50")
self.master.title("メニュー")
#フレームの作成
self.frame1 = tk.Frame(self.master, width=300, height=120, padx=20, pady=10)
self.frame1.grid_propagate(False)
self.frame1.place(x=10, y=10)
self.frame2 = tk.Frame(self.master, width=300, height=120, padx=20, pady=10)
self.frame2.grid_propagate(False)
self.frame2.place(x=10, y=70)
self.frame3 = tk.Frame(self.master, width=150, height=100, padx=15, pady=10)
self.frame3.grid_propagate(False)
self.frame3.place(x=185, y=87)
#ウィジェット作成の呼び出し
self.create_widgets()
#ウィジェット作成
def create_widgets(self):
#開始年月日
self.label1 = tk.Label(self.frame1, text="開始年月日 (例:2023.01.01)")
self.label1.grid(row=0, column=0, sticky=tk.W)
self.entry1 = tk.Entry(self.frame1, width=20)
self.entry1.grid(row=1, column=0, sticky=tk.W)
#終了日年月日
self.label2 = tk.Label(self.frame2, text="終了年月日 (例:2023.01.01)")
self.label2.grid(row=0, column=0, sticky=tk.W)
self.entry2 = tk.Entry(self.frame2, width=20)
self.entry2.grid(row=1, column=0, sticky=tk.W)
self.button = tk.Button(self.frame3, text="作成",width=7)
self.button.grid(row=0, column=0)
self.text = tk.StringVar()
#クリック
def Button_click(self, event):
en_get = self.entry1.get()
self.entry2.delete("0", "end")
self.entry2.insert(0, str(en_get))
self.text.set(en_get)
def main():
root = tk.Tk()
root.resizable(width=False, height=False)
app = Application(master=root)
app.mainloop()
if __name__ == "__main__":
main()
▼Chromeでログイン画面を開いて対象画面まで進む
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import tkinter as tk
#URLを指定
Url = "https://www.XXXXXXXXXX/login"
#Chromeでログイン画面を開いて対象画面まで進む
Driver = webdriver.Chrome(executable_path=r'C:\Users\XXX\PythonWorks\ChromeDriver\chromedriver.exe')
Driver.get(Url)
#メールアドレスとパスワードを入力
Driver.find_element(By.ID,"email").send_keys("XXXX@XXXXX")
Driver.find_element(By.ID,"password").send_keys("XXXXXX")
#ログインボタン押下(画面表示されるまで待機)
login_button = Driver.find_element(XXXXXXXXXXXXX)
login_button.click()
Wait = WebDriverWait(Driver,30)
Element = Wait.until(EC.element_to_be_clickable((By.XPATH,XXXXXXXXXXXXX)))
#詳細設定(Advanced_settings)を押下
Advanced_settings = Driver.find_element(By.XPATH,XXXXXXXXXXXXX)
Advanced_settings.click()
time.sleep(5)
以上です。
ググってもググっても解決に至らなかったので、お力を貸してください。
よろしくお願いいたします。
0