【问题标题】:Ghost.py - click specific buttonGhost.py - 单击特定按钮
【发布时间】:2015-04-17 18:52:59
【问题描述】:

我正在尝试单击特定按钮,但还没有结果。 使用Python 3.4.2Ghost.py

<a class="button" title="" ref="1" id="details" href="javascript:void(0);"> </a>

此代码在许多divli 下。

欢迎最简单的答案!

【问题讨论】:

    标签: javascript python-3.x web-scraping ghost.py


    【解决方案1】:

    您可以使用 Ghost.py 评估一行 Javascript,并在您通过 getElementById 获得的适当 DOM 元素上使用 click 方法:

    page, resources = ghost.evaluate("document.getElementById('details').click();", expect_loading=True)
    

    更新


    要按类获取链接,请使用以下行

    ghost.evaluate("document.getElementsByClassName('button')[0].click();", expect_loading=True)
    

    您可以使用另一个版本来选择并单击页面上带有ref="1" 属性的第一个链接:

    ghost.evaluate("document.querySelector('a[ref="1"]').click();", expect_loading=True)
    

    【讨论】:

    • 如何获取 DOM 元素?
    • @Fred Javascript 调用 document.getElementById('details') 为您提供 ID 为 details 的 DOM 元素。
    • 如果 id details 出现多次,唯一唯一的是 ref="1" 数字和 class="button" 名称,我的情况是这样吗?
    • @Fred 那么你没有有效的 HTML 元素的 id 必须是唯一的。有关唯一类名的情况,请参阅我的更新答案,但您应该真正修改您的 html 以使其有效,否则您可能会在此过程中遇到更多问题。最好给这个链接一个唯一的 ID,你在调用 document.getElementById('your_unique_id_for_this_element').click() 中使用它
    • @Fred 我添加了另一个版本,您可以使用它选择 DOM 中的第一个链接,该链接具有 ref 属性,其值为 "1"
    猜你喜欢
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多