我使用这个代码,但它返回我的映像名称的名称与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