1

假设我有一个简单的表,如下所示:

Smith    |  Select
Jones    |  Select
Johnson  |  Select

而且我需要编写一个 Selenium 测试来选择 Jones 对应的链接。我可以让它点击第二行的“选择”,但我宁愿让它找到“琼斯”的位置,然后点击相应的“选择”。我在想我可能需要合并 JQuery 来完成这个?

4

2 回答 2

1

使用像 "//tc[.//text() = 'Jones']/../tc[2]/a" 这样的 xpath 表达式,它会查找文本内容为 'Jones' 的表格单元格,然后导航到该单元格的父级,选择该父级的第二个表格单元格,然后选择第二个表格单元格内的链接。

于 2010-06-22T19:47:56.563 回答
0

如果你想使用 jQuery,这里有一些信息:

  • 首先,您可以从 jquery.js 或 jquery.min.js 文件中读取 jquery。
  • 然后使用 execute_script(jquery) 动态启用 jquery。
  • 现在您可以与 jquery 进行交互了。

这是一些代码:

browser = webdriver.Firefox() # Get local session of firefox

with open('jquery.min.js', 'r') as jquery_js: #read the jquery from a file
    jquery = jquery_js.read()
    browser.execute_script(jquery)  #active the jquery lib

#now you can write some jquery code then execute_script them
js = """
    var str = "div#myPager table a:[href=\\"javascript:__doPostBack('myPager','%s')\\"]"
    console.log(str)
    var $next_anchor = $(str);
    if ($next_anchor.length) {
        return $next_anchor.get(0).click(); //do click and redirect
    } else {
        return false;
    }""" % str(25) 

success = browser.execute_script(js)
if success == False:
    break
于 2012-08-15T17:25:10.570 回答