轻歌越野 发表于 2016-10-31 13:59:02

鼠标悬停在用户头像上,显示当前用户名,webdriver获取不到这个用户名


                WebElement usernamebtn=driver.findElement(By.xpath("(//button[@type='button'])"));
                Actions action = new Actions(driver);
                action.clickAndHold(usernamebtn);
                Thread.sleep(2000);
                Alert jsAlert = driver.switchTo().alert(); //切换到警告框并将其窗口控点赋予Selenium的Alert,以此来操作弹出的警告框
                System.out.println(jsAlert.getText());
                jsAlert.accept();


用这个方法不行,这不是个提示框吗?

轻歌越野 发表于 2016-10-31 14:30:35

额,这儿人好少……

清晨一缕阳光 发表于 2016-10-31 15:45:52

建议把HTML代码贴出来,这样方便分析。

yueyingmail 发表于 2016-10-31 17:21:05

我觉得你应该用这个方法先把鼠标放到那个头像上吧,你不是鼠标悬停吗?
action.moveToElement(usernamebtn)

轻歌越野 发表于 2016-10-31 17:33:10

yueyingmail 发表于 2016-10-31 17:21
我觉得你应该用这个方法先把鼠标放到那个头像上吧,你不是鼠标悬停吗?
action.moveToElement(usernamebtn ...

试过了,没用,

轻歌越野 发表于 2016-10-31 17:36:01

清晨一缕阳光 发表于 2016-10-31 15:45
建议把HTML代码贴出来,这样方便分析。

<button class="md-icon-button md-button md-ink-ripple" ng-transclude="" type="button" ng-click="$mdOpenMenu($event)" aria-haspopup="true" aria-label="{{Auth.name}}" aria-expanded="false" aria-owns="menu_container_4">
<md-icon class="ng-scope ng-isolate-scope md-font icon-person material-icons" md-font-icon="icon-person" aria-hidden="true"></md-icon>
<div class="md-ripple-container"></div>

轻歌越野 发表于 2016-10-31 17:39:56

清晨一缕阳光 发表于 2016-10-31 15:45
建议把HTML代码贴出来,这样方便分析。

本身是一个button,悬停的时候会显示当前用户名,如果点击它,会出现操作选项:账户信息和退出
如下:
<div id="menu_container_4" class="md-open-menu-container md-whiteframe-z2 md-active md-clickable" style="top: 8px; left: 1139px; transform-origin: left top 0px;" aria-hidden="false">
<md-menu-content role="menu">
<md-menu-item>
<a class="md-button md-ink-ripple" ng-transclude="" ui-sref=".profile" role="menuitem" href="#/main/profile">
<md-icon class="ng-scope ng-isolate-scope md-font icon-account_box material-icons" md-font-icon="icon-account_box" aria-hidden="true"></md-icon>
<span class="ng-binding ng-scope">账号信息</span>
</a>
</md-menu-item>
<md-menu-item>
<button class="md-button md-ink-ripple" ng-transclude="" type="button" ng-click="logout()" role="menuitem">
<md-icon class="ng-scope ng-isolate-scope md-font icon-exit_to_app material-icons" md-font-icon="icon-exit_to_app" aria-hidden="true"></md-icon>
<span class="ng-binding ng-scope">退出</span>

joykao 发表于 2016-11-1 16:14:05

首先那个窗口不是alert,另外,不要老盯着那个button不放,你要找的元素是那个tooltip,正常应该是隐藏的,但是还是可以知道那个元素是什么,html代码中找不到就去问前端开发,知道关键属性了就可以定位出来了

轻歌越野 发表于 2016-11-1 16:58:43

joykao 发表于 2016-11-1 16:14
首先那个窗口不是alert,另外,不要老盯着那个button不放,你要找的元素是那个tooltip,正常应该是隐藏的, ...

好的,明白了,:handshake
页: [1]
查看完整版本: 鼠标悬停在用户头像上,显示当前用户名,webdriver获取不到这个用户名