24

こんにちは、セレンを使用して Web ページのテストを自動化しています。私はセレン 2 と python を使用しており、このフレームワークでのみ回答を得たいと考えています。テキストが存在するかどうかを確認するにはどうすればよいですか? アセットイコールを試しましたが、うまくいきませんか?

assertEquals(driver.getPageSource().contains("email"), true);
4

3 に答える 3

27

driver.page_source単純な正規表現を 使用して、テキストが存在するかどうかを確認できます。

import re    
src = driver.page_source
text_found = re.search(r'text_to_search', src)
self.assertNotEqual(text_found, None)
于 2013-06-20T09:03:44.343 に答える
4

次のようなものを試すことができます

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

于 2015-06-16T08:53:16.883 に答える