在一个<td>里面有很多个<a>标签,打印<td>里某个已知XPath的<a>标签以后的所有超链接。用selenium和By函数
时间: 2024-01-29 14:02:47 浏览: 40
可以使用以下代码实现:
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
# 启动浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get("https://example.com")
# 找到目标<td>标签
td_element = driver.find_element(By.XPATH, "//*[@id='td-id']")
# 找到目标<a>标签
a_element = td_element.find_element(By.XPATH, "//*[@id='a-id']")
# 获取<a>标签后面的所有超链接
links = [link.get_attribute("href") for link in a_element.find_elements(By.XPATH, "./following-sibling::a")]
# 打印结果
print(links)
# 关闭浏览器
driver.quit()
```
其中,需要将`"https://example.com"`替换为你要操作的网页地址,将`"//*[@id='td-id']"`和`"//*[@id='a-id']"`替换为你要查找的目标标签的XPath。
相关问题
在一个<td>里面有很多个<a>标签,打印<td>里某个已知XPath的<a>标签以后的所有超链接
可以使用以下 Python 代码来实现:
```python
from lxml import html
# 假设我们已经有了包含HTML的字符串变量html_string和已知XPath的a标签的XPath
# 将HTML字符串转换成HTML树
html_tree = html.fromstring(html_string)
# 获取所有的<td>标签
td_tags = html_tree.xpath('//td')
# 依次遍历每个<td>标签
for td_tag in td_tags:
# 获取当前<td>标签下的所有<a>标签
a_tags = td_tag.xpath('.//a')
# 遍历所有的<a>标签
for a_tag in a_tags:
# 如果当前<a>标签的XPath与已知的XPath相同
if a_tag.xpath('string()') == '已知的XPath':
# 打印该<a>标签以及之后的所有超链接
for next_a_tag in a_tag.xpath('./following::a'):
print(next_a_tag.xpath('@href')[0])
```
上述代码中,我们首先将HTML字符串转换成HTML树,然后获取所有的<td>标签。接着,我们依次遍历每个<td>标签,获取当前标签下的所有<a>标签。对于每个<a>标签,我们判断其XPath是否与已知的XPath相同,如果相同,则遍历该标签之后的所有<a>标签,打印它们的超链接。注意,此处假设超链接都是通过href属性来定义的。
使用lxml技术,查找<li>标签中href属性值为link1.html的<a>标签并打印
可以使用lxml库的XPath语法来查找所有的`<li>`标签中`href`属性值为`link1.html`的`<a>`标签。以下是使用lxml和Python代码示例:
```python
from lxml import etree
# 假设HTML代码存储在变量html中
html = '<ul><li><a href="link1.html">Link 1</a></li><li><a href="link2.html">Link 2</a></li><li><a href="link3.html">Link 3</a></li></ul>'
# 使用lxml解析HTML代码
tree = etree.HTML(html)
# 使用XPath查找所有的li标签中href属性值为link1.html的a标签
a_tags = tree.xpath('//li[a/@href="link1.html"]/a')
# 打印查找到的a标签的文本内容
for a in a_tags:
print(a.text)
```
输出结果为:
```
Link 1
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![crx](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)