[英]How to extract the text from the HTML using Selenium and Python
[英]How to extract the text H MATTHEWS from the html using Selenium and Python
通过使用“包含” function 如何从这种类型的 html 结构中提取信息,我正在尝试抓取“H MATTHEWS”此信息
HTML:
<p>
<strong>Date Published:</strong>
20 APRIL 2020
<br>
<strong>Closing Date / Time:</strong>
TUESDAY, 05 MAY 2020
<br>
<strong>Enquiries:</strong>
<br>
Contact Person: H MATTHEWS
<br>
Email:
</p>
HTML 图像:
文本联系人:H MATTHEWS位于文本节点内。 因此,要打印文本,您必须为visibility_of_element_located()
诱导WebDriverWait ,并且您可以使用以下任一Locator Strategies :
使用XPATH
和childNodes :
print(driver.execute_script('return arguments[0].childNodes[9].textContent;', WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//p[./strong[text()='Date Published:']]")))).strip())
使用XPATH
和splitlines()
:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//p[./strong[text()='Date Published:']]"))).get_attribute("innerHTML").splitlines()[-3])
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
如果您的用例仅提取文本H MATTHEWS您可以使用以下任一解决方案:
使用XPATH
和childNodes :
print(re.split('[:]', driver.execute_script('return arguments[0].childNodes[9].textContent;', WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//p[./strong[text()='Date Published:']]")))).strip())[1])
使用XPATH
和splitlines()
:
print(re.split('[:]', WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//p[./strong[text()='Date Published:']]"))).get_attribute("innerHTML").splitlines()[-3])[1])
您可以在以下位置找到详细的相关讨论:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.