用xpath following-sibling 写串Python代码
时间: 2024-05-15 17:12:13 浏览: 10
假设我们有以下HTML代码:
```html
<div class="container">
<h2>标题1</h2>
<p>内容1</p>
<h2>标题2</h2>
<p>内容2</p>
<h2>标题3</h2>
<p>内容3</p>
</div>
```
我们想要提取所有标题后面的内容,可以使用以下Python代码:
```python
from lxml import html
# 解析HTML
tree = html.fromstring(html_text)
# 获取所有标题
titles = tree.xpath('//h2')
# 循环遍历标题,获取后面的内容
for title in titles:
# 使用following-sibling获取下一个同级元素
content = title.xpath('following-sibling::p[1]/text()')[0]
print(content)
```
输出结果:
```
内容1
内容2
内容3
```
在这个例子中,我们首先使用lxml库的html模块解析HTML代码。然后,我们使用XPath表达式`//h2`获取所有标题。接下来,我们循环遍历每个标题,并使用XPath表达式`following-sibling::p[1]/text()`获取下一个同级元素`<p>`的文本内容。注意,我们使用了`[1]`来获取第一个匹配的元素,因为`following-sibling::p`可能会找到多个元素。最后,我们打印出每个标题后面的内容。
相关问题
selenium following-sibling python
在使用 Selenium 和 Python 进行 Web 自动化测试时,可以使用 `following-sibling` 方法来定位某个元素的下一个兄弟元素。
示例代码:
```python
from selenium import webdriver
# 创建 WebDriver 对象
driver = webdriver.Chrome()
# 打开网页
driver.get("https://www.example.com")
# 定位元素
element = driver.find_element_by_id("foo")
# 定位下一个兄弟元素
sibling = element.find_element_by_xpath("following-sibling::div")
# 输出文本内容
print(sibling.text)
# 关闭浏览器
driver.quit()
```
在此示例代码中,我们首先打开一个网页,然后定位 id 为 "foo" 的元素,接着使用 `following-sibling::div` 定位它的下一个兄弟元素,最后输出该元素的文本内容。你可以根据自己的需求修改代码中的元素定位方式和操作。
python 通过xpath插件获取不同选项下的不同表格额数据代码示例
下面是一个示例代码,使用 Python 和 XPath 插件来获取不同选项下的不同表格数据:
```python
import requests
from lxml import etree
# 获取网页源码
url = 'https://example.com'
response = requests.get(url)
html = response.content.decode('utf-8')
# 解析网页
selector = etree.HTML(html)
# 获取第一个选项下的表格数据
option1_table = selector.xpath('//select[@id="option1"]/following-sibling::table[1]/tr')
for tr in option1_table:
td_list = tr.xpath('./td/text()')
print(td_list)
# 获取第二个选项下的表格数据
option2_table = selector.xpath('//select[@id="option2"]/following-sibling::table[1]/tr')
for tr in option2_table:
td_list = tr.xpath('./td/text()')
print(td_list)
```
上面的代码中,我们首先使用 requests 库获取网页源码,然后使用 lxml 库中的 etree 模块解析网页。接着,我们使用 XPath 表达式来定位选项和表格元素,并使用循环遍历每行数据,最后将每行数据以列表形式输出。你需要根据你的网页结构和需要获取的数据进行修改。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.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)