2017-09-19 14 views
-2

セレンを使用して2つの要素テキストのいずれかを検索してテストを実行する際に問題があります。具体的には、これは私がHTML形式でWebページ上で見つけるためにしようとしているものです:Python - スパン要素を見つけるためにセレンを使用してください

<img src="images/ews/x.png" 
    alt="x" 
/> --> 
      <span>Cannot produce results.</span> 
     </div> 
</div> 



    <img src="images/ews/w.png" 
    alt="!" 
/> --> 
      <span>No data</span> 
     </div> 
</div> 

私はby_css_selectorを使用しようとするが、それは働いていません。これはalt

driver.find_element_by_css_selector("img[alt='x']") 
driver.find_element_by_css_selector("img[alt='!']") 

以降2つのソリューションでxpath

driver.find_element_by_xpath('//img[@src="images/ews/w.png"]') 
driver.find_element_by_xpath('//img[@src="images/ews/x.png"]') 

によってによって

driver.find_elements_by_css_selector("span=\"Cannot produce results.\"") 
driver.find_elements_by_css_selector("span=\"No data\"") 

であり、私はhere

任意のアイデアからJeffCのソリューション@使用しましたか?

+2

可能な複製([?私はセレンwebdriverを(パイソン)で特定のテキストを含む要素を見つけるにはどうすればよい] https://stackoverflow.com/questions/12323403/how:このコードのように

-do-i-find-element-specific-specific-in-selenium-webdriver-pyth) – JeffC

答えて

0

あなたがタグによって要素を見つけようとしている場合は、テキストによって要素を検索しようとしている場合(find_element_by_tag_name)

を使用し、(find_element_by_link_text)を使用しています。

driver.find_element_by_tag_name("span") 

driver.find_element_by_link_text("Cannot produce results.") 
+0

'SPAN'はほとんどのページで一意ではなく、' _by_link_text() 'のみが動作します'A'タグの上に。 – JeffC

+2

はい、私はそれが一意ではないことを知っています、私はちょうど与えられた例に答えました。そして、linked_text()は、タグ内のテキストを取得するために私が知っている唯一の関数です。 他にも知っていますか?私はちょうどセレンの文書に従った。 (http://selenium-python.readthedocs.io/locating-elements.html) –

+0

要素内にテキストを検出するのはXPathだけです。上記のリンク先の複製を参照してください。 – JeffC

関連する問題