2016-07-09 12 views
0

if elseがSeleniumとPythonを使用していない理由を理解しようとしています。私はいくつかの異なるバリエーションを試しましたが、これはうまく動作し、盲目的かもしれないと考えています。If文を使用したSeleniumとPython

例:

if (self.driver.find_element_by_class_name('product')).text == "FEATURED PRODUCTS": 
     print "\nHome Pass" 
    else: 
     print "\nHome Fail" 

試みこのならびに

if self.driver.find_element_by_class_name("product-teaser-list").text in "Featured Products": 

各実行はFailを返し、以下、アサートを使用する場合、.textが発見されました。だから私はテキストがこのメソッドで見つかったのを知っています。

assert "FEATURED PRODUCTS" in self.driver.find_element_by_class_name('product').text 
+3

'=='は 'in'と比較して異なるクエストです - 後者は以前の完全一致のような部分文字列です... – Dilettant

+0

' == 'を' in'に置き換えます。 – cdarke

+0

ありがとう@Dilettantと@cdarke私もそれを試して、失敗を返します。 – wildshroom

答えて

0

次のコードを試してください。

if "FEATURED PRODUCTS" in self.driver.find_element_by_class_name('product').text 

これが動作しない場合は、それをデバッグしてください。何か空白が問題を生み出します。 assert文が渡されている場合は、次のように動作する必要があります。

+0

Worked。 ':'でメソッドを閉じるだけでよい – wildshroom