te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>Javascript to get hidden text value from website using Selenium web driver - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Javascript to get hidden text value from website using Selenium web driver - Stack Overflow

programmeradmin3浏览0评论

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 badges
Add a ment  | 

5 Answers 5

Reset to default 6

You 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!

发布评论

评论列表(0)

  1. 暂无评论