python - 如何通过特定的子/后代元素选择元素
问题描述
<a class="author " name="baut001" href="#!">
<span class="content">
<span class=" given-name">first name</span>
<span class=" surname">Last name</span>
<svg focusable="false" viewBox="128" width="19.125" height="24" class="icon ">
<path d="m22.6 77"></path>
</svg>
</span>
</a>
<a class="author" name="baut002" href="#!">
<span class="content">
<span class="text given-name">first name</span>
<span class="text surname">Last name</span>
<span class="author-ref" id="baff002"><sup>a</sup></span>
</span>
</a>
<a class="author" name="baut003" href="#!">
<span class="content">
<span class=" given-name">first name</span>
<span class=" surname">Last name</span>
<svg focusable="false" viewBox="128" width="19.125" height="24" class="icon ">
<path d="m22.6 77"></path>
</svg>
</span>
</a>
有三个<a>
标签,其中两个包含<svg>
标签,我想点击那些元素。
解决方案
您可以<svg>
在定位器中指定标签。
您可以使用css_selector
driver.find_elements_by_css_selector('.author svg')
或者xpath
driver.find_elements_by_xpath('//a[@class="author"]//*[local-name()="svg"]')
推荐阅读
- python - 实现 cdc 但在 Python Pandas 中出现值错误
- prometheus - PromQL - 计算指标具有相同值的次数
- java - 无法使用 AdminClient deleteTopic 删除 Kafka 主题
- css - 将 Bootstrap 选择器字段的标题对齐到右侧
- python - 使用 PyArg_ParseTuple 时第一个参数错误
- java - 为什么在创建单例时构造函数是默认的?
- git - 如何使用 git bash 在 git 中暂存单行?
- java - 如何使用流比较列表的元素?
- mysql - 插入到 SIMILAR 键更新时从不同表中选择
- angular - 使用@ngrx/data,得到“没有实体类型 [x] 的实体定义”