我有一个节点如下:
<span class="portal-text-medium">Office Hours</span>
Run Code Online (Sandbox Code Playgroud)
对于我使用的XPath
//span[text()='Office Hours']
Run Code Online (Sandbox Code Playgroud)
这应该工作,但它永远不会.我可以使用*contains(text(),'Office Hours')]*但是找不到完全匹配,我必须验证没有"*".这不是它唯一不适合我的时间.我之前看到它有用,所以我不知道出了什么问题.任何的想法?
是的,我可以,并且确实使用,starts-with但它并不完全相同.
我正在使用Selenium和Eclipse处理页面对象类(虽然这个问题一般适用于Eclipse).
我正在定义一些字符串,有时基于其他字符串.如下例中的一个简单示例:
private static final String X1 = "//div[contains(@id,'s1')]";
private static final String X2 = X1 + "//table[contains(@id,'tony')]";
private static final String X3 = X2 + "//a";
Run Code Online (Sandbox Code Playgroud)
等等
在eclipse中,你可以将鼠标悬停在一个字符串(如X3)上,它会显示值(如下所示:
String xxxx.xxxx.com.Page.X3 ="// div [contains(@ id,'s1')] // table [contains(@ id,'tony')] // a")
但这不是实际发生的事情,因为它未被使用,您收到此消息: 未使用字段ViewProviderDemographicsPage.X3的值
所以我总是要把像String dummy = X3这样的东西; 所以我可以避免这个消息.我尝试将@SuppressWarnings(未使用)放在文件的顶部(我的语法可能有错,但在文件中它是正确的).但这似乎只是为了压制直接在它下面的线的警告.有没有什么方法可以让你在悬停时显示它的值,即使它没有被使用?
还有什么是最优的,如果你在悬停时只是显示了值而没有围绕它的="和",以及变量的名称.我永远不能只选择xpath所以当我复制并粘贴到firefox检查时我必须粘贴然后删除="和"
我有一个String添加为Phenix City,AL 36867.我想最终有3个java字符串:city,state,zip对应的值.
我有什么工作但很复杂.用逗号分隔字符串
String[] halves = add.split(",");
String city = halves[0].replace(",","").trim();
Run Code Online (Sandbox Code Playgroud)
然后用其余部分拧紧
String remainder = halves[1].trim();
String[] fields = remainder.split("");
String state = fields[0];
String zip = fields[1];
Run Code Online (Sandbox Code Playgroud)
但似乎必须有一个更优雅的方式?