python3で 動的な変数をexec関数で作成するが、変数を呼び出しできない

実現したいこと

python3で 動的な変数を順番に for文で作成して、 生成された変数を、セレニウムで検索文字列として変数に定義された値を取り出したいです

発生している問題・分からないこと

exec関数を使えば  文字として 変数連結ができると知り、サンプルコードのprintでは変数の値を表示できるのですが、実際のコードの selenium の sendkey("exec関数で作成した変数名")にすると

sendkey 内は 呼び出した値を 入れたいのですが、作成した 動的な変数名が表示されてしまいます。

参照したサンプルコード

Python3

1str_1 = 'おはようございます' 2str_2 = 'こんにちは' 3str_3 = 'こんばんは' 4 5for i in range(1,4): 6 exec_command = 'print(str_' + str(i) + ')' 7 exec(exec_command)

実際に実現したいコードは

Python3

1from selenium import webdriver 2str_1 = 'おはようございます' 3str_2 = 'こんにちは' 4str_3 = 'こんばんは' 5 6for i in range(1,4): 7 exec_command = 'print(str_' + str(i) + ')' 8 exec(exec_command) 9 ##selenium のコードは省略 10 searchform=driver.find_element(By.XPATH,'') 11 12 searchform.sendkeys(exec_command) #←この実行時に 変数名ではなくて値(おはようございます、こんにちは、こんばんは)を順番に 表示させたい 13

参考にしたページ
https://www.taklog.info/python-for-exec/
https://staffblog.amelieff.jp/entry/2019/12/18/120000
https://pythonjp.ikitai.net/entry/2024/02/17/060000

該当のソースコード

特になし

試したこと・調べたこと

上記の詳細・結果

変数が そのまま表示されてします

補足

特になし

コメントを投稿

0 コメント