2011-08-11 5 views
9

मैं सी # सेलेनियम वेबड्राइवर का उपयोग कर रहा हूं और मैं यह पुष्टि करना चाहता हूं कि पेज पर कुछ टेक्स्ट मौजूद है।सेलेनियम 2 का उपयोग करके, मैं कैसे जांचूं कि पृष्ठ पर कुछ टेक्स्ट मौजूद है या नहीं?

मैं यह कैसे कर सकता हूं? सभी चयनकर्ता आईडी, कक्षा आदि का उपयोग करते हैं। मुझे कोई परवाह नहीं है कि पाठ पृष्ठ पर कहां है, मैं बस यह सुनिश्चित करना चाहता हूं कि यह पृष्ठ पर कहीं मौजूद है।

कोई विचार?

पुनश्च: मैं इस JQuery और जावास्क्रिप्ट का उपयोग कर सकते, लेकिन जाहिरा तौर पर है कि सभी ब्राउज़र ड्राइवरों में समर्थित नहीं है:

protected bool TextIsOnThePage(string textToFind) 
{ 
    var javascriptExecutor = ((IJavaScriptExecutor)_driver); 
    bool textFound = Convert.ToBoolean(javascriptExecutor.ExecuteScript(string.Format("return $('*:contains(\"{0}\")').length > 0", textToFind))); 

    return textFound; 
} 

उत्तर

11
WebElement bodyTag = driver.findElement(By.tagName("body")); 
if (bodyTag.getText().contains("Text I am looking for") { 
    // do something 
} 

या एक speific div

पाते हैं या आप की तरह

var selenium=new WebDriverBasedSelenium(driver,url); 

selenium.IsTextPresent("text") 
+0

खूबसूरती से सरल। धन्यवाद! – willem

+0

अच्छा जवाब, वैकल्पिक रूप से आप शरीर के बजाय एचटीएमएल का उपयोग कर सकते हैं, मेरे पास कुछ मामले थे एचटीएमएल बेहतर काम किया – prestomanifesto

1

आप <body /> के भीतर पाठ की जाँच करके इस लक्ष्य को हासिल करने के लिए सक्षम होना चाहिए।

0

जावा में सेलेनियम वर्ग WebDriverBasedSelenium का उपयोग करें और कुछ कर सकते हैं तो आप इसे इतना पसंद करते हैं:

बूलियन जो कुछ = driver.getPageSource() में शामिल है ("जो भी आप ढूंढने की कोशिश कर रहे हैं");

4

यहाँ का उपयोग कर Selenium WebDriver 2.48.0

IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); 
driver.Navigate().GoToUrl("http://stackoverflow.com/"); 
IWebElement body = driver.FindElement(By.TagName("body")); 

Assert.IsTrue(body.Text.Contains("Top Questions")); 

नोट एक अद्यतन संस्करण है: जोर एक Nunit जोर है, तो आप स्पष्ट रूप से उपयोग कर सकते हैं, जो भी दावे आप अपनी पसंदीदा विधि। मैं इस उदाहरण के लिए रिमोट वेब ड्राइवर और फ़ायरफ़ॉक्स का भी उपयोग कर रहा हूं।

संबंधित मुद्दे

 संबंधित मुद्दे