実現したいこと
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 コメント