selenium click无效中click 一个元素没有效果,怎么解决

后使用快捷导航没有帐号?
查看: 2111|回复: 17
selenium2第五周作业,搜索按钮操作老点击不上
注册会员, 积分 119, 距离下一级还需 81 积分
论坛徽章:4
代码如下& && &&&
//-----(4)点“搜索”,跳转到机票单程搜索列表页。
& && &&&driver.findElement(By.xpath(&//div/form[@id='dfsForm']//button&)).click();
最初以为路径写的不对,用firepath定位了一下还是不行。
运行的时候有时候会出现城市的信息框。
51.png (172.85 KB)
19:53 上传
一开始想着会不会是遮挡老点不上
后来就写了把框关闭的操作。但是写了运行后有时候又没有框,又找不到那个框的元素,报错。
去掉关闭弹框的操作。有时候又出现。抓狂了。。求指教
注册会员, 积分 99, 距离下一级还需 101 积分
论坛徽章:1
这个是input,直接把填好的结果放到脚本里试一下呢?
注册会员, 积分 119, 距离下一级还需 81 积分
论坛徽章:4
这个是input,直接把填好的结果放到脚本里试一下呢?
哦我说的是搜索按钮。
注册会员, 积分 70, 距离下一级还需 130 积分
论坛徽章:1
我这段是没让那个东西出来,在出来之前就选好了
注册会员, 积分 98, 距离下一级还需 102 积分
论坛徽章:3
我也是求教,什么都不会啊
注册会员, 积分 71, 距离下一级还需 129 积分
论坛徽章:2
页面上的元素太复杂了,我已经疯了~
注册会员, 积分 71, 距离下一级还需 129 积分
论坛徽章:2
我也出现同样的问题了,大家都是怎么解决的呢?求指教呀~
论坛徽章:76
折腾了好几个小时才算搞完作业,看看你的问题是不是下面原因导致的
注册会员, 积分 71, 距离下一级还需 129 积分
论坛徽章:2
楼主,我也出现这样的情况了,我的代码中,输入目的城市的代码是这样写的:
Driver.findElement(By.name(&toCity&)).clear();
Driver.findElement(By.name(&toCity&)).sendKeys(&上海&);
最后,我把第一行clear的代码注掉了,就没再出现该问题,你看看你是不是也是这个问题。
注册会员, 积分 150, 距离下一级还需 50 积分
论坛徽章:2
我可以说这是网站的问题吗,不是咱们的问题,呵呵Selenium Webdriver下click失效问题解决 -
- ITeye技术网站
博客分类:
最近在使用Selenium Webdriver(Selenium2.0)进行界面自动化测试的时候发现单击事件无效,通过driver.findElement的方式是可以找到click元素的,但是就是click之后无任何反应。
研究之后发现原来是click的时候已经失去该焦点了,解决办法是先找另外的元素,再来找这个元素,例如:
//先找到父亲节点,再回来
driver.findElement(By.linkText(name)).findElement(By.xpath("..")).click();
driver.findElement(By.linkText(name)).click();
这样既可解决click失效问题。
浏览 10937
楼主 你有没有遇到过 点到了 但是click方法一直结束不了的情况?
&a style="text-decoration:" onclick="doLink('custlkup.php?webpos=1', 'main', true);"&
link是这样的
我看webdriver的api里说如果click会触发页面load之类的 就会怎样 但是现在这个还是解决不了。
浏览器试ie9
你好,可否将错误日志贴上来看一下,我倒是没有遇到这样的情况。
浏览: 46330 次
来自: 杭州
楼主你好,现在我也遇到一个问题,在模拟页面点击事件的时候,没有 ...
&div class=&quote_title ...
楼主 你有没有遇到过 点到了 但是click方法一直结束不了的 ...2011年3月 Web 开发大版内专家分月排行榜第二2011年1月 Web 开发大版内专家分月排行榜第二2010年10月 Web 开发大版内专家分月排行榜第二2010年9月 Web 开发大版内专家分月排行榜第二2010年6月 Web 开发大版内专家分月排行榜第二
2012年10月 Web 开发大版内专家分月排行榜第三2010年7月 Web 开发大版内专家分月排行榜第三
2011年3月 Web 开发大版内专家分月排行榜第二2011年1月 Web 开发大版内专家分月排行榜第二2010年10月 Web 开发大版内专家分月排行榜第二2010年9月 Web 开发大版内专家分月排行榜第二2010年6月 Web 开发大版内专家分月排行榜第二
2012年10月 Web 开发大版内专家分月排行榜第三2010年7月 Web 开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。selenium webdriver定位不到元素的五种原因及解决办法 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
selenium webdriver定位不到元素的五种原因及解决办法
& 10:42:53
/ 个人分类:
1.动态id定位不到元素for example:&&&&&&& //WebElement xiexin_element = driver.findElement(By.id("_mail_component_82_82"));&&&&&&& WebElement xiexin_element = driver.findElement(By.xpath("//span[contains(.,'写 信')]"));&&&&&&& xiexin_element.click();&& 上面一段代码注释掉的部分为通过id定位element的,但是此id“_mail_component_82_82”后面的数字会随着你每次登陆而变化,此时就无法通过id准确定位到element。&& 所以推荐使用xpath的相对路径方法查找到该元素。2.iframe原因定位不到元素&&& 由于需要定位的元素在某一个frame里边,所以有时通过单独的id/name/xpath还是定位不到此元素比如以下一段xml源文件:&&id="left_frame"&scrolling="auto"&frameborder="0"&src="index.php?m=Index&a=Menu"&name="left_frame"&noresize="noresize"&style="height: 100%;visibility:
width: 100%;z-index: 1"&&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&&&&&&&class="menuBg"&&&id="menu_node_type_0"&&&width="193"&cellspacing="0"&cellpadding="0"&border="0"&&&&&&&&&id="c_1"&&&class="menuSub"&cellspacing="0"&cellpadding="0"&border="0"&align="center"&&&&&class="sub_menu"&&&&&href="index.php?m=Coupon&a=SearchCouponInfo"&target="right_frame"&密码重置&/&&/&&/&原本可以通过WebElement element = driver.findElement(By.linkText("密码重置"));来定位此元素,但是由于该元素在&id="left_frame"这个frame里边 所以需要先通过定位frame然后再定位frame里边的某一个元素的方法定位此元素WebElement element =driver.switchTo().frame("left_frame").findElement(By.linkText("密码重置"));3.不在同一个frame里边查找元素大家可能会遇到页面左边一栏属于left_frame,右侧属于right_frame的情况,此时如果当前处在left_frame,就无法通过id定位到right_frame的元素。此时需要通过以下语句切换到默认的contentdriver.switchTo().defaultContent();例如当前所在的frame为left_frame&&&&&& WebElement xiaoshoumingxi_element = driver.switchTo().frame("left_frame").findElement(By.linkText("销售明细"));&&&&&& xiaoshoumingxi_element.click();需要切换到right_frame&&&&& &&&&&& driver.switchTo().defaultContent();&&&&&& &&&&&& Select quanzhong_select2 = new Select(driver.switchTo().frame("right_frame").findElement(By.id("coupon_type_str")));&&&&&& quanzhong_select2.selectByVisibleText("售后0小时");4. xpath描述错误这个是因为在描述路径的时候没有按照xpath的规则来写 造成找不到元素的情况出现5.点击速度过快 页面没有加载出来就需要点击页面上的元素这个需要增加一定等待时间,显示等待时间可以通过WebDriverWait 和util来实现例如:&&&&&& //用WebDriverWait和until实现显示等待 等待欢迎页的图片出现再进行其他操作&&&&&& WebDriverWait wait = (new WebDriverWait(driver,10));&&&&&& wait.until(new ExpectedCondition&Boolean&(){&&& &&& && public Boolean apply(WebDriver d){&&& &&& &&& && boolean loadcomplete = d.switchTo().frame("right_frame").findElement(By.xpath("//center/div[@class='welco']/img")).isDisplayed();&&& &&& &&& &&&&& &&& && }&&&&&& });也可以自己预估时间通过Thread.sleep(5000);//等待5秒 这个是强制线程休息6.firefox安全性强,不允许跨域调用出现报错错误描述:uncaught exception: [Exception... "Component returned failure code: 0x (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.execCommand]" nsresult: "0x (NS_ERROR_FAILURE)" location:解决办法:这是因为firefox安全性强,不允许跨域调用。 Firefox 要取消XMLHttpRequest的跨域限制的话,第一是从 about:config 里设置 signed.applets.codebase_principal_support = true; (地址栏输入about:config 即可进行firefox设置)第二就是在open的代码函数前加入类似如下的代码: try { netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); } catch (e) { alert("Permission UniversalBrowserRead denied."); }

我要回帖

更多关于 selenium span click 的文章

 

随机推荐