我正在使用Selenium和Python抓取一个网站。我想从特定的页面中提取特定的文本。我成功地导航到了页面,但当我尝试以下任何操作时,selenium总是返回一个空列表:
driver.find_elements_by_id()
driver.find_elements_by_class()
driver.find_elements_by_class_name()
以及许多其他方法(以及它们的单数版本(。我还怀疑这是一个数据加载问题,并添加了一个隐含的等待,这仍然会导致一个空列表。
当我检查元素时,这是HTML中的:
<textarea style="width: 658px; height: 128px; overflow: auto;" autocomplete="off" id="ContentPH_description" name="ContentPH_description" role="textbox" aria-readonly="true" aria-required="false" aria-multiline="true" class="x-form-textarea x-form-field vms-viewmode-view-set" readonly="" aria-labelledby="ContentPH_description_label" title="" aria-invalid="false" maxlength="10000" oldindex="0" tabindex="-1"></textarea>
我还试着在上面查找该标签的父标签,得到了相同的结果。
帮助。我想检索<textarea>
中的文本。
你不能只使用这些方法而不将它们指向某个东西,我将在这个方法上使用id按Id 使用查找元素
description = driver.find_element_by_id("ContentPH_description" )
如果你使用find元素,你需要像一样索引列表
description = driver.find_elements_by_id("ContentPH_description" )[0]