admin管理员组文章数量:1244388
How can i get this telefoon nummer in string variable.
<span itemprop="telephone" class="hidden" id="telefoon_28836_hidden">010 - 79 53 364</span>
I tried this code without ant success.
JavascriptExecutor jse = (JavascriptExecutor)driver;
String script = "return document.getElementByXPath('//span[@itemprop='telephone']').getText();";
String telno1 = ((JavascriptExecutor) driver).executeScript(script).toString();
I am getting this exception for String telno1 line
ErrorHandler$UnknownServerException: missing ) after argument list
please any help thank you
How can i get this telefoon nummer in string variable.
<span itemprop="telephone" class="hidden" id="telefoon_28836_hidden">010 - 79 53 364</span>
I tried this code without ant success.
JavascriptExecutor jse = (JavascriptExecutor)driver;
String script = "return document.getElementByXPath('//span[@itemprop='telephone']').getText();";
String telno1 = ((JavascriptExecutor) driver).executeScript(script).toString();
I am getting this exception for String telno1 line
ErrorHandler$UnknownServerException: missing ) after argument list
please any help thank you
Share Improve this question asked Feb 20, 2014 at 13:53 MuratcanMuratcan 2352 gold badges6 silver badges18 bronze badges5 Answers
Reset to default 6You can use this,
String theTextIWant = ((JavascriptExecutor) driver).executeScript("return arguments[0].value;",driver.findElement(By.xpath("//span[@itemprop='telephone']")));
You just use javascript to extract out the value attribute of the input field. If it were a div or textarea, then you'd like use the innerHTML, innerText, or textContent attributes. like below,
String theTextIWant = ((JavascriptExecutor) driver).executeScript("return arguments[0].innerHTML;",driver.findElement(By.xpath("//span[@itemprop='telephone']")));
You are mixing a number of things here. You cannot just copy/paste Selenium code and expect it to work in JavaScript.
My suggestion would be to be to first find the element using Selenium's XPath mechanism, and then pass that into a JavaScript string. You are merely working against Selenium's API because it allows you to find elements in variety of ways and it will transform that into an object that can be used in JavaScript for you if you want to.
JavascriptExecutor jse = (JavascriptExecutor)driver;
WebElement element = driver.findElement(By.xpath("//span[@itemprop='telephone']"));
jse.executeScript("return arguments[0].text", element);
(Untested, unverified code, I do not have a Java IDE to handle, may not pile)
The inner xpath string does not seems to be formed properly. This is because of the 'Single Quotes' used:
Try replacing:
String script = "return document.getElementByXPath('//span[@itemprop='telephone']').getText();";
With:
String script = "return document.getElementByXPath(\"//span[@itemprop='telephone']\").getText();";
^ ^
Try this
driver.findElement(By.id("telefoon_28836_hidden")).getText();
If works, let us know.
This will cause error: document.getElementByXPath is not a function
Use document.evaluate
insteads. Answer of yckart in this link is helpful.
Hope this helps!
本文标签: Javascript to get hidden text value from website using Selenium web driverStack Overflow
版权声明:本文标题:Javascript to get hidden text value from website using Selenium web driver - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1740142842a2231226.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论