【问题标题】:How can I return the text of a button clicked using execute_script?如何返回使用 execute_script 单击的按钮的文本?
【发布时间】:2021-07-14 17:27:53
【问题描述】:

如何获取单击按钮的文本并将其返回给 python?该按钮是使用用户在 Selenium WebDriver 浏览器中生成的鼠标单击来选择的。

我正在尝试如下操作:

x=driver.execute_script("$(document).click(function(event){var text= $(event.target).text(); return text})")

但是当我打印x 的内容时,它返回无。当我尝试使用警报来显示text 的内容时,它会返回正确的内容,但我想在 Python 中返回它。 我做错了什么?

【问题讨论】:

  • 查找按钮定位器并获取其文本。为什么要使用 execute_script?
  • 该任务的目的是执行鼠标单击并获取相关元素的详细信息。我正在使用鼠标单击访问元素,并且仅使用 Selenium 来获取详细信息。
  • 您不能返回随机时间发生的值。

标签: javascript python jquery selenium


【解决方案1】:

点击按钮后, 仅当按钮的文本在可见的 dom 中仍然可用时,您才能提取按钮的文本,否则不能。

【讨论】:

    【解决方案2】:
    # Identify element
    element = driver.find_element_by_id("id")
    
    # Click element
    element.click()
    
    # Get text
    print("Text is: " + element.text)
    
    # Or
    print("Text is: " + element.get_attribute("innerHTML")
    

    【讨论】:

      猜你喜欢
      • 2019-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      相关资源
      最近更新 更多