【问题标题】:python selenium click on a link buttonpython selenium 点击链接按钮
【发布时间】:2016-03-25 20:15:26
【问题描述】:

我对 python selenium 很陌生,我正在尝试单击具有以下 html 结构的按钮:

<a href="#" onclick="loadCalendarsForDateFn('jmpto1605')"><span class="jumpToMonthMM">May</span><span class="jumpToMonthYY">2016</span></a><br/>

我希望能够点击上面的“2016 年 5 月”按钮。有人可以指导我如何做到这一点吗?

提前致谢!

【问题讨论】:

    标签: python selenium click


    【解决方案1】:

    您可以使用 XPath 检查月份和年份:

    //a[span[@class="jumpToMonthMM"] = "May" and
        span[@class="jumpToMonthYY"] = "2016"]
    

    【讨论】:

    • 非常感谢!我找到了链接按钮!一个后续问题是当我发出 click() 命令时,它只是没有跳转到 2016 年 5 月。elem = browser.find_element_by_xpath('//a[span[@class="jumpToMonthMM"] = "May" and span[@class="jumpToMonthYY"] = "2016"]')print('Found It!')elem.click()
    • @damingzi 太棒了!您的意思是当您发出click() 时没有任何反应?如果你想move to the element and then click:ActionChains(driver).move_to_element(elem).click().perform() 会怎样?不要忘记导入:from selenium.webdriver.common.action_chains import ActionChains.
    • 感谢您的持续回复。但是 ActionChains 点击也不起作用。我在想元素“2016 年 5 月”是否是正确的点击。你有什么线索吗?
    • @damingzi 你能把这个问题详细说明成一个单独的问题吗?这可能更有意义,因为更多的人可能会提供帮助。确保提供所有必要的详细信息。谢谢!
    • 谢谢!我找到了 click() 的解决方法。我用 .send_keys("\n") 替换了 .click(),后者的作用几乎相同 :)
    【解决方案2】:

    Alexce 有一个很好的解决方案,但您也可以使用loadCalendarsForDateFn('jmpto1605') 查找 onclick 属性:

    find_element_by_xpath("""//a[@onclick ="loadCalendarsForDateFn('jmpto1605')"]""")
    

    05 和 16 显然对应于 5 月和 2016 年,因此我认为可以安全地假设它是独一无二的。

    【讨论】:

    • 感谢 Padraic 的输入 :) 我在下面尝试了类似的方法,它也有效! find_element_by_xpath(".//a[contains(@onclick, 'jmpto1605')]")
    猜你喜欢
    • 2014-07-14
    • 2014-02-16
    • 2016-05-08
    • 2021-09-14
    • 2018-05-11
    • 1970-01-01
    • 2021-11-06
    相关资源
    最近更新 更多