2012-09-05 137 views
2

我使用這個代碼,但它返回我的映像名稱的名稱與URL得到圖片src名如何使用Selenium的webdriver

IWebElement element = driver.FindElement(By.XPath("Your xpath")); 
string path = element.GetAttribute("src"); 

結果:

http://nameofthehost/imagename.jpg 

什麼,我想只是吐了我的src名字,我該怎麼做?

回答

4

即使在HTML源代碼中指定了相對URL,某些瀏覽器也會返回JavaScript中的完整URL。因此,您不必根據您使用的瀏覽器對代碼進行特殊處理,WebDriver會對包含URL的所有屬性和屬性進行規範化處理,以返回完整的URL。爲了解決這個問題,你可以直接使用JavaScript。

// assume driver is a valid WebDriver object 
// Java code 
WebElement element = driver.findElement(By.xpath("your XPath")); 
String src = ((JavascriptExecutor)driver).executeScript("return arguments[0].attributes['src'].value;", element).toString(); 
+0

感謝我給了一槍,因爲你是核心貢獻者硒你會回答這個問題嗎? http://stackoverflow.com/questions/12151958/login-popup-window-using-selenium-webdriver –

+0

@JimEvans - 謝謝你的回答,它也解決了我的問題,我得到完整的src名稱,我只想要文本/值顯示在圖像源中。你可以給我任何分辨率來獲取圖像上顯示的值。請找到我從代碼中檢索到的字符串。 「QuickApp/HumanValidationImage.aspx?TID = LZhU3a」。但我只想要「LZhU3a」(自動生成)的值。幫助將不勝感激 –

+0

@UmamaheshwarThota以提取所需的值,使用以下代碼:scrID = 「?QuickApp/HumanValidationImage.aspx TID = LZhU3a」 scrID = scrID.substring(scrID.lastIndexOf( '=')+ 1); 只是適合您的需求。 – Michal

0

在推廣形式

WebElement element = driver.findElement(locator); 
String src = element.getAttribute(src); 
String [] srcs=src.split("\"); 
相關問題