python-3.x - 如何使用 selenium/python 访问 HTML 文本?
问题描述
我有如下 HTML 标签:
<div class="mt-md common__EiReviewTextStyles__allowLineBreaks">
<p class="strong">Pros</p>
<p>This is the text to be captured</p></div>
我想在 Python 上使用 selenium 访问文本“这是要捕获的文本”。
关于如何做到这一点的任何想法?
解决方案
要提取第二个<p>
标签中的文本,即这是要捕获的文本,您必须诱导WebDriverWait并且visibility_of_element_located()
您可以使用以下任一定位器策略:
使用
CSS_SELECTOR
和get_attribute()
:print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.mt-md.common__EiReviewTextStyles__allowLineBreaks p:nth-of-type(2)"))).get_attribute("innerHTML"))
使用
XPATH
和text
:print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='mt-md common__EiReviewTextStyles__allowLineBreaks']//following-sibling::p[2]"))).text)
推荐阅读
- ibm-doors - 在 DOORS Next Generation 中,我可以在工件或模块发生更改时收到通知吗?
- jakarta-ee - WSO2 ESB 中入站端点的含义和目的是什么?
- liferay - Liferay 7:尝试激活捆绑 portlet 时出错
- c - 问题是在结构变量的输入过程中,一些输入后它不打印输入语句并将输入随机分配给变量
- angular - 不能在 Angular 中使用 styleUrls 的相对路径
- regex - 仅用于五个连续数字的正则表达式模式
- python - Pyqt4 中的选项卡
- reactjs - 行分组:当分页处于活动状态时,行组子项与父组在同一页面中
- hyperledger - 超级账本锯齿验证器节点权限问题
- python - Python decimal.Decimal - getcontext().prec 设置和输出中的小数位数