【问题标题】:Youtube google popup - seleniumYoutube 谷歌弹出窗口 - selenium
【发布时间】:2020-10-14 01:07:45
【问题描述】:

The popup

在学习 python 自动化时尝试自动化 YouTube 搜索,但是我遇到了一个问题。我不知道如何自动点击弹出窗口上的“我同意”,希望有人可以发送解决方案

【问题讨论】:

  • //span[text()='我同意'] 如果你可以在开发者工具上找到这个标签,只需点击 /parent:button 标签。

标签: python selenium automation


【解决方案1】:

您可以使用 xpath 找到该元素并使用 click() 方法单击它:https://pythonspot.com/selenium-click-button/

【讨论】:

  • 我试过 Iagree = driver.find_elements_by_xpath('//*[@id="introAgreeButton"]/span/span') Iagree.click() 但它似乎仍然不起作用:/
  • 你确定那是正确的 xpath 吗?您可能想以这种方式仔细检查:右键单击“我同意”按钮,然后单击检查。在出现的 DevTools 窗口中,右键单击突出显示的行,然后单击 Copy > Copy XPath。
  • 我很确定它是正确的 xpath 并且什么都没有发生,我只是在终端中收到一个错误,说找不到它
  • 您可能想要编辑您的帖子并添加您的代码。
  • 谢谢你下次再做,先整理一下如何将框架更改为弹出窗口 iframe 然后再做:)
【解决方案2】:

切换到 iframe 弹出窗口

driver.switch_to.frame("iframe") //(对于这个特定的例子,"iframe",否则把 iframe 的 id 放在那里)

driver.find_element_by_xpath('//*[@id="introAgreeButton"]/span/span').click()

切换回主框架

driver.switch_to.default_content()

【讨论】:

    【解决方案3】:
                browser.switch_to_default_content()
                browser.switch_to.frame(browser.find_elements_by_tag_name('iframe')[0])
                browser.implicitly_wait(1)
                browser.find_element_by_id('introAgreeButton').click()
                browser.switch_to.default_content()
    

    我在这里使用“浏览器”而不是“驱动程序”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      • 2023-04-03
      相关资源
      最近更新 更多