【问题标题】:How to set the URL of a link to a variable using WATIR如何使用 WATIR 将链接的 URL 设置为变量
【发布时间】:2011-02-08 21:25:34
【问题描述】:

使用 WATIR 和 Excel,我想在 Excel 中获取表格的第一行,访问 URL,然后将页面上的第 12 个链接设置为具有 URL 的单元格旁边的单元格中的变量,然后转到下一行并重复。

我一直在获取页面上第 12 个链接的 URL,以将其设置为可以输入 Excel 中的下一个单元格的变量。这是我所拥有的,但它不起作用。

worksheet = workbook.WorkSheets(1) # get first workbook


#declare test site
test_site = worksheet.Range("a2").text

#open ie
ie = Watir::IE.new

#go to test_site
ie.goto test_site

#find primlink
ie.link(:index, 12).text = "primlink"

puts primlink

有什么想法吗?

【问题讨论】:

    标签: ruby watir


    【解决方案1】:

    如果你想从第 12 个链接获取 URL,你为什么使用文本方法?使用 href 代替文本。

    #find primlink
    primlink = ie.link(:index, 12).href
    
    puts primlink
    

    【讨论】:

    • 这就是答案,他下面的内容太复杂了。我希望我们中的一个人可以将其作为正确答案进行检查,因为@Alex 似乎并不倾向于这样做。
    【解决方案2】:

    我不希望它点击链接,我希望它在不访问页面的情况下返回 URL,但这是我最终的结果:

    #declare test site
    test_site = worksheet.Range("a2").text
    
    #open ie
    ie = Watir::IE.new
    
    #go to test_site
    ie.goto test_site
    
    #find primlink
    ie.link(:index, 12).click
    #define primlink
    primlink = ie.url() 
    #goback
    ie.back()
    #find seclink
    ie.link(:index, 14).click
    #define seclink
    seclink = ie.url()
    
    #set primlink and seclink
    worksheet.Range("b2").value = primlink
    worksheet.Range("c2").value = seclink
    

    现在我只需要弄清楚如何将单元格引用转换为相对引用并遍历整个列表或 url,但这是另一个线程......

    【讨论】:

    • 不需要空括号。
    猜你喜欢
    • 2020-03-06
    • 1970-01-01
    • 2015-12-08
    • 2014-04-06
    • 2019-07-27
    • 1970-01-01
    • 2021-11-20
    • 2022-12-12
    • 1970-01-01
    相关资源
    最近更新 更多