2024-09-27 20:17:17 发布
网友
嗨,我正在使用selenium自动测试网页。 我使用的是selenium 2和python,只想在这个框架中找到答案。 那么我该如何检查文本是否存在?我试过资产相等,但它不起作用?
assertEquals(driver.getPageSource().contains("email"), true);
您可以使用driver.page_source和一个简单的正则表达式来检查文本是否存在:
driver.page_source
import re src = driver.page_source text_found = re.search(r'text_to_search', src) self.assertNotEqual(text_found, None)
对于你们中仍感兴趣的人:
通用解决方案
if (text in driver.page_source): # text exists in page
单元测试:
assertTrue (text in driver.page_source)
pytest:
assert (text in driver.page_source)
你可以试试
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
您可以使用
driver.page_source
和一个简单的正则表达式来检查文本是否存在:对于你们中仍感兴趣的人:
通用解决方案
单元测试:
pytest:
你可以试试
基本上,以上几行启动Firefox,导航到指定的url,使浏览器保持10秒,加载某个url,然后查找特定的链接文本,如果找不到链接文本,则会触发TimeoutException。
请注意所用括号的数目,如果括号的数目与上述不符,您将遇到错误。
要运行上述语句,必须声明
它使用“element_to_be_clickable”-在这里可以找到等待条件的完整列表:Selenium Python: Waits
相关问题 更多 >
编程相关推荐