求问这种情况为什么不能用linkText来定位
<a href="/bidding/publicity/view?login_id=3244422" target="_blank">查看结果</a>上述这种情况,我用driver.findElement(By.linkText("查看结果")).click();一直不成功,报错就是找不到元素
请大神们指点!
linktext不是每个都能定位的,要准确高效的定位建议用xpath或者css方式 踏雪飞狐 发表于 2015-10-28 18:24
linktext不是每个都能定位的,要准确高效的定位建议用xpath或者css方式
通过FireBug获得的xpath和css绝对路径,都定位不了这个文案链接:'(什么办法都用了还是报错 好奇怪 查看结果这个链接是不是有很多个呢?是不是页面上用了多frame?或者是不是有多页面?如果是的话需要switch的还有即使用cssSelector去定位元素也不要把值写死,我觉得那个login_id应该是会变得href="/bidding/publicity/view?login_id=3244422 OverTimeDog 发表于 2015-10-29 09:45
通过FireBug获得的xpath和css绝对路径,都定位不了这个文案链接什么办法都用了还是报错 好奇怪
是不是用了多frame或者窗口切换了,如果没有的话用xpath不可能定位不到的,除非你写错路径了 joykao 发表于 2015-10-29 10:40
查看结果这个链接是不是有很多个呢?是不是页面上用了多frame?或者是不是有多页面?如果是的话需要switch ...
<!DOCTYPE html>
<html>
<head>
<body>
<header id="header" class="mod-header" log-mod="header">
<div id="logo" class="mod-logo " log-mod="logo">
<div id="crumbs" class="mod-crumbs" log-mod="crumbs">
<div class="l-flow-con l-flow-con-fold clearfix">
<div id="sideNav" class="mod-side-nav" log-mod="side-nav">
<div class="l-right-con l-right-con-expanded">
<div id="backToManage" class="mod-back-to-manage">
<div id="evaluateView" class="mod-evaluate-view" log-mod="evaluateView">
<iframe id="st-content-iframe" frameborder="no" border="0" style="width: 100%; border: medium none; height: 8042px;">
<!DOCTYPE >
<html>
<head>
<body>
<style>
<style>
<div class="view">
<h1>项目:【QA测试测试】</h1>
<div class="info-list">
<div class="info-item fixed-hidden">
<div class="info-item fixed-hidden">
<div class="info-item fixed-hidden">
<div class="info-item">
<div class="info-item">
<div class="info-item">
<div class="info-item">
<div class="info-item">
<div class="info-item">
<span class="info-title">完成情况(入选/目标):</span>
<span class="info-text">766.22%</span>
</div>
<p>
<label>结果:</label>
成功
<a href="/bidding/publicity/view?bidding_id=2906135780192437042" target="_blank">查看结果</a>
</p>
</div>
<div class="results-container clearfix">
</div>
</body>
</html>
</iframe>
</div>
</div>
</div>
实际上是这样一个格式,大神求解!
踏雪飞狐 发表于 2015-10-29 11:19
是不是用了多frame或者窗口切换了,如果没有的话用xpath不可能定位不到的,除非你写错路径了
<!DOCTYPE html>
<html>
<head>
<body>
<header id="header" class="mod-header" log-mod="header">
<div id="logo" class="mod-logo " log-mod="logo">
<div id="crumbs" class="mod-crumbs" log-mod="crumbs">
<div class="l-flow-con l-flow-con-fold clearfix">
<div id="sideNav" class="mod-side-nav" log-mod="side-nav">
<div class="l-right-con l-right-con-expanded">
<div id="backToManage" class="mod-back-to-manage">
<div id="evaluateView" class="mod-evaluate-view" log-mod="evaluateView">
<iframe id="st-content-iframe" frameborder="no" border="0" style="width: 100%; border: medium none; height: 8042px;">
<!DOCTYPE >
<html>
<head>
<body>
<style>
<style>
<div class="view">
<h1>项目:【QA测试测试】</h1>
<div class="info-list">
<div class="info-item fixed-hidden">
<div class="info-item fixed-hidden">
<div class="info-item fixed-hidden">
<div class="info-item">
<div class="info-item">
<div class="info-item">
<div class="info-item">
<div class="info-item">
<div class="info-item">
<span class="info-title">完成情况(入选/目标):</span>
<span class="info-text">766.22%</span>
</div>
<p>
<label>结果:</label>
成功
<a href="/bidding/publicity/view?bidding_id=2906135780192437042" target="_blank">查看结果</a>
</p>
</div>
<div class="results-container clearfix">
</div>
</body>
</html>
</iframe>
</div>
</div>
</div>
实际上是这样一个格式,大神求解!
OverTimeDog 发表于 2015-10-29 13:57
...
果然是多iframe的,你在点击那个连接元素的之前加上一句switch试试
driver.switchTo().defaultContent().switchTo().frame("st-content-iframe"); joykao 发表于 2015-10-29 17:27
果然是多iframe的,你在点击那个连接元素的之前加上一句switch试试
driver.switchTo().defaultContent ...
感谢! 用你的方法成功了 刚学selenium 没遇到过iframe的 第一次遇到这个情况 OverTimeDog 发表于 2015-10-29 18:04
感谢! 用你的方法成功了 刚学selenium 没遇到过iframe的 第一次遇到这个情况
:loveliness:多遇到问题以后就知道啦;P
页:
[1]