har*_*814 6 python selenium xpath
我尝试使用 Python 和 Selenium 获取某些 HTML 标签的 id。有html代码:
<tr id="10">
<td colspan="5">
<div class="card-view">
<span class="value">PROVIDER_628_54678931</span>
</div>
</td>
</tr>
<tr id="11">
<td colspan="5">
<div class="card-view">
<span class="value">PROVIDER_629_54678932</span>
</div>
</td>
</tr>
<tr id="12">
<td colspan="5">
<div class="card-view">
<span class="value">PROVIDER_730_54678933</span>
</div>
</td>
</tr>
<tr id="13">
<td colspan="5">
<div class="card-view">
<span class="value">PROVIDER_6542_54678934</span>
</div>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
对于仅提取一个父标签的 id,我这样做:
elem = browser.find_element_by_xpath("//span[contains(@class, 'value') and text()='PROVIDER_628_54678931']")
parent = elem.find_element_by_xpath('../../..')
print(parent.get_attribute("id"))
Run Code Online (Sandbox Code Playgroud)
如何在 XPath 中使用正则表达式来获取“span”元素的父 id-s,其中文本包含“PROVIDER_6XX”,但不包含“PROVIDER_7”和 PROVIDER_6542?
我在这里找到了解决方案:链接
def findTrunksByRegExp():
pattern = re.compile(r"PROVIDER_6\d{2}")
elements = browser.find_elements_by_xpath("//span[contains(@class, 'value')]")
for element in elements:
match = pattern.match(element.text)
if match:
parent = element.find_element_by_xpath('../../..')
print(parent.get_attribute("id"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3431 次 |
| 最近记录: |