Python 3.x 我能';我不知道如何使用selenium python获取文本
我试着去了解Python 3.x 我能';我不知道如何使用selenium python获取文本,python-3.x,selenium,web,Python 3.x,Selenium,Web,我试着去了解 <span class="noactive">0 Jours restants</span> 正如您所看到的,我尝试打印“carry”的内容,但找不到任何允许它的函数(我看到一些函数使用.text(),.gettext(),但由于各种原因,我无法让它们工作)。您可以尝试显式匹配所需的标记,可能是: //span[@class='noactive'] 我还建议您使用这个time.sleep()函数,它是一种性能反模式,如果您需要等待某个元
<span class="noactive">0 Jours restants</span>
正如您所看到的,我尝试打印“carry”的内容,但找不到任何允许它的函数(我看到一些函数使用.text(),.gettext(),但由于各种原因,我无法让它们工作)。您可以尝试显式匹配所需的标记,可能是:
//span[@class='noactive']
我还建议您使用这个time.sleep()
函数,它是一种性能反模式,如果您需要等待某个元素的存在/可见性/不可见性/不存在,您应该选择它
因此,请删除这些行:
time.sleep(4)
warrant = d.find_element_by_xpath('//*[@id="W-Warranties"]/section/div/div/div[1]/div[1]/div[1]/p[1]/span')
用这个代替:
warrant = WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.XPATH, "//span[@class='noactive']")))
更多信息:您是否尝试过
carry.getAttribute(“innerHTML”)
?只需使用carry.text我尝试了此页面中的内容,但无法使其正常工作,可能我错过了一个include或used text/gettext错误存在只是元素在DOM中,但不一定可见。如果要拉取文本,则元素需要可见,这样您就需要位于的元素的可见性。此外,OP需要元素中的文本,因此需要添加.text
。
warrant = WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.XPATH, "//span[@class='noactive']")))