我使用這個代碼,但它返回我的映像名稱的名稱與URL得到圖片src名如何使用Selenium的webdriver
IWebElement element = driver.FindElement(By.XPath("Your xpath"));
string path = element.GetAttribute("src");
結果:
http://nameofthehost/imagename.jpg
什麼,我想只是吐了我的src名字,我該怎麼做?
我使用這個代碼,但它返回我的映像名稱的名稱與URL得到圖片src名如何使用Selenium的webdriver
IWebElement element = driver.FindElement(By.XPath("Your xpath"));
string path = element.GetAttribute("src");
結果:
http://nameofthehost/imagename.jpg
什麼,我想只是吐了我的src名字,我該怎麼做?
即使在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();
在推廣形式
WebElement element = driver.findElement(locator);
String src = element.getAttribute(src);
String [] srcs=src.split("\");
感謝我給了一槍,因爲你是核心貢獻者硒你會回答這個問題嗎? http://stackoverflow.com/questions/12151958/login-popup-window-using-selenium-webdriver –
@JimEvans - 謝謝你的回答,它也解決了我的問題,我得到完整的src名稱,我只想要文本/值顯示在圖像源中。你可以給我任何分辨率來獲取圖像上顯示的值。請找到我從代碼中檢索到的字符串。 「QuickApp/HumanValidationImage.aspx?TID = LZhU3a」。但我只想要「LZhU3a」(自動生成)的值。幫助將不勝感激 –
@UmamaheshwarThota以提取所需的值,使用以下代碼:scrID = 「?QuickApp/HumanValidationImage.aspx TID = LZhU3a」 scrID = scrID.substring(scrID.lastIndexOf( '=')+ 1); 只是適合您的需求。 – Michal