Pythonのif文における条件式を書くときに、演算子を用いて、True又は、Falseと比較する時もあれば、比較しないで変数名だけを条件式に入れたりすることがあると思います。
その違いがいまいちわからないです。
Python3.7.5です。
Python
1a = 'True' 2 3if a: 4 print('aはTrueです。') 5else: 6 print('aはTrueではないです。')
上記のコードの出力結果は、もちろん「aはTrueです。」になります。
しかし下記のパターンだと、idはseleniumの画面上に存在しないのに、「aはTrueです。」となってしまいます。
※指定のidはseleniumの画面上に存在しないです。
画面上に存在しない場合は、指定のidまでスクロールしたいと考えています。
画面内に存在する場合は、スクロールしない処理を行いたいと思っています。
Python
1a = self.driver.find_element_by_id('id名') # 存在しないID 2 3if a: 4 print('aはTrueです。') 5else: 6 print('aはTrueではないです。')
上記のプログラムの結果は、「aはTrueではないです」になります。
僕の認識では、idは存在すしないので、「aはTrueではないです」が結果になるという認識でいるのですが、なぜ「aはTrueです」になるのかを教えていただきたいです。
ちなみに、下記のプログラムに変更すると、「aはTrueではないです」になります。
Python
1a = self.driver.find_element_by_id('id名') # 存在しないID 2 3if a == True: 4 print('aはTrueです。') 5else: 6 print('aはTrueではないです。')
優しく教えていただけますと、助かります。
よろしくお願いします。
回答4件
あなたの回答
tips
プレビュー