单击span和div中包含的文本

时间:2015-03-13 00:31:30

标签: android selenium selenium-webdriver appium

这是HTML代码。

<div class="help-service-content">
<div class="help-content">
<a name="61AC9B9656AE"></a>
<h1>Help Contents</h1>
<div>    
<div id="9F38FD">
<a name="9F38FD"></a>
</div>
<h2>
<span><a href="/register.html">Register</a></span>
</h2> 
<div id="20D4FF">
<a name="20D4FF"></a>
</div>
<h2>
<span><a href="/subscribe.html">Subscribe</a></span>
</h2>
</div>
</div>
</div>

我一直试图点击&#34;注册&#34;在我的Android移动应用程序上使用Appium的文本,但它最终做的是强调文本。这个链接没有打开。这类似于here发布的问题。所以,我尝试了以下内容,但也没有。

WebElement element = DeviceWrapper.getAppiumDriver().findElement(By.xpath("span"));
element.click();

只是想知道是否有人有任何想法。谢谢你的时间。

2 个答案:

答案 0 :(得分:1)

尝试按链接文字找到a元素(不是span

DeviceWrapper.getAppiumDriver().findElement(By.linkText("Register"));

或者,by xpath

DeviceWrapper.getAppiumDriver().findElement(By.xpath("//span/a[. = 'Register']"));

答案 1 :(得分:0)

您需要切换到Web上下文才能使用WebView。

获取当前上下文:

DeviceWrapper.getAppiumDriver().getContext();

获取可用的上下文

DeviceWrapper.getAppiumDriver().getContextHandles();

假设您有可用的"WEBVIEW_0"上下文。要切换到此上下文:

DeviceWrapper.getAppiumDriver().context("WEBVIEW_0");

之后,您可以使用此上下文的WebView。

来源: http://appium.io/slate/en/master/?java#available-contexts

注意:在iOS上 以端口ios_webkit_debug_proxy_server运行27753。您可以从Appium源代码中运行它:https://github.com/appium/appium/blob/master/bin/ios-webkit-debug-proxy-launcher.js
或作为独立实用程序:https://github.com/google/ios-webkit-debug-proxy