我正在试图弄清楚如何知道哪个是当前节点在其父节点下的位置,目前我正在使用selenium并且大多数时候我使用Xpath。这是因为我想提取表的所有列 在此示例中,列数是动态生成的
<tabe>
<tr>
<td>23</td>
<td>42</td>
<td>31</td>
</tr>
<tr>
<td>13</td>
<td>21</td>
<td>32</td>
</tr>
</table>
所以我要说我需要第二个colunm(42和21),但由于内容是动态生成的,我不知道它是否是第二个列我只知道我想要第42个列的colum。所以使用硒,我很容易得到42。我需要它的位置td。
我在一个可能复杂而缓慢的算法中思考过。基本上是这样的:
该算法存在一些问题,例如“如果有2个具有相同内码的元素会怎么样”,而且正如我所提到的那样可能很慢,当我开始考虑Row和colum span时,我不会让我开始(目前我只是需要当前行中的位置。)
所以有一种更简单的方法吗?一些我不知道的硒功能,或者通过XPath获得它的方法?
谢谢:)
答案 0 :(得分:1)
使用XPath玩一下我想出了以下查询;
import UIKit
class ShowSubmitViewController: UIViewController, UIWebViewDelegate {
@IBOutlet weak var webView: UIWebView!
var URL : String = ""
var type : Int = 0
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
loadBrowser()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func loadBrowser(){
switch type {
case 5:
let htmlString:String! = URL
webView.loadHTMLString(htmlString, baseURL: nil)
default:
let url = NSURL (string: URL);
let requestObj = NSURLRequest(URL: url!);
webView.loadRequest(requestObj);
}
}
}
这将为您提供相对定位的&#34; TD&#34;第二个&#34; TR&#34;来自&#34; TD&#34;中的一系列文字。第1&#34; TR&#34;。