こんにちは、セレンを使用して Web ページのテストを自動化しています。私はセレン 2 と python を使用しており、このフレームワークでのみ回答を得たいと考えています。テキストが存在するかどうかを確認するにはどうすればよいですか? アセットイコールを試しましたが、うまくいきませんか?
assertEquals(driver.getPageSource().contains("email"), true);
こんにちは、セレンを使用して Web ページのテストを自動化しています。私はセレン 2 と python を使用しており、このフレームワークでのみ回答を得たいと考えています。テキストが存在するかどうかを確認するにはどうすればよいですか? アセットイコールを試しましたが、うまくいきませんか?
assertEquals(driver.getPageSource().contains("email"), true);
driver.page_source
単純な正規表現を 使用して、テキストが存在するかどうかを確認できます。
import re
src = driver.page_source
text_found = re.search(r'text_to_search', src)
self.assertNotEqual(text_found, None)
次のようなものを試すことができます
browser = webdriver.Firefox()
browser.get(url)
WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, 'some link text')))
基本的に、上記の行は Firefox を起動し、指定された URL に移動し、ブラウザーを 10 秒間保持し、いくつかの URL をロードしてから特定のリンク テキストを探します。リンク テキストが見つからない場合は、TimeoutException がトリガーされます。
ブラケットの数に注意してください。上記のようにブラケットの数が一致しない場合、エラーが発生します。
上記のステートメントを実行できるようにするには、以下が宣言されている必要があります
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
これは「element_to_be_clickable」を使用します - 待機条件の完全なリストはここにあります: Selenium Python: Waits