首页 > 解决方案 > Python + Selenium:我无法从 div 获取打印文本

问题描述

Python + Selenium:我无法从此 div 获取打印文本:

<div id="modal-content-18" class="modal-content" data-role="content">
    <div>
    SignUp Failed. Please Try Again.
    </div>
</div>

我试过这个:

resp = browser.find_element_by_class_name("modal-content").text
print resp

但它不起作用。

请帮我。

标签: pythonseleniumselenium-webdriverselenium-chromedriver

解决方案


由于这些情况,我个人更喜欢 xpaths。他们也可以处理许多复杂的案例。尝试以下操作:

resp = browser.find_element_by_xpath('//div[@class="modal-content"]/div').text
print resp

如果元素在屏幕上不可见。文本方法将是无。在这种情况下,您需要 textContent 属性。然后使用以下内容:

resp = browser.find_element_by_xpath('//div[@class="modal-content"]/div').get_attribute("textContent")
print resp

请让我知道这对你有没有用。还要确保modal-content页面上只有一个。如果有多个,则您的 css_selector 不足以识别此元素。要检查这一点,您可以运行以下命令。

l = len(browser.find_elements_by_xpath('//div[@class="modal-content"]/div'))
print l

如果它返回一个大于 1 的数字,那么modal-content仅该类是不够的,您需要扩展您的选择标准。


推荐阅读