我的这个number怎么一直是1?namexpath ='//*[@id="app"]/div/div[2]/ul/li[1]/a/div/div[2]/div/div[1]/span' scorexpath ='//*[@id="app"]/div/div[2]/ul/li[1]/a/div/div[2]/div/div[2]/span[2]' for number in range(120): allfilmxpath = f'//*[@id="app"]/div/div[2]/ul/li[{number}]/a' filmname = driver.find_element(By.XPATH,namexpath) score = driver.find_element(By.XPATH,scorexpath) print(filmname.text) print(score.text)
时间: 2024-01-20 08:04:03 浏览: 24
您的 `number` 变量在循环中一直是1,因为您没有在循环中更新它的值。您需要在循环中更新 `number` 的值,使它能够遍历到 1 到 120 的所有整数。
以下是修正后的代码:
```
namexpath ='//*[@id="app"]/div/div[2]/ul/li[1]/a/div/div[2]/div/div[1]/span'
scorexpath ='//*[@id="app"]/div/div[2]/ul/li[1]/a/div/div[2]/div/div[2]/span[2]'
for number in range(1, 121):
allfilmxpath = f'//*[@id="app"]/div/div[2]/ul/li[{number}]/a'
filmname = driver.find_element(By.XPATH, namexpath)
score = driver.find_element(By.XPATH, scorexpath)
print(filmname.text)
print(score.text)
```
在这个修正后的代码中,我们使用 `range(1, 121)` 来遍历 1 到 120 的所有整数,然后在每次循环中更新 `number` 的值。
相关问题
为什么我的allfilmxpath中的number不会变?for number in range(1,120): allfilmxpath = f'//*[@id="app"]/div/div[2]/ul/li[{number}]/a' filmname = driver.find_element(By.CLASS_NAME,'drc-subject-info-title-text') score = driver.find_element(By.CLASS_NAME,'drc-rating-num') print(filmname.text) print(score.text)
在您的代码中,allfilmxpath 中的 number 并没有变化,这是因为您没有在每次循环中使用新的 number 值来更新 allfilmxpath。您需要将 allfilmxpath 的赋值放到循环内部,并使用新的 number 值来构造新的 XPATH。
以下是修改后的代码:
```
filmname_xpath = '//h1[@class="drc-subject-info-title-text"]'
score_xpath = '//span[@class="drc-rating-num"]'
for number in range(1, 121):
allfilmxpath = f'//*[@id="app"]/div/div[2]/ul/li[{number}]/a'
film_element = driver.find_element(By.XPATH, allfilmxpath)
film_element.click()
filmname = driver.find_element(By.XPATH, filmname_xpath)
score = driver.find_element(By.XPATH, score_xpath)
print(filmname.text)
print(score.text)
driver.back()
```
在这个修改后的代码中,我们将 allfilmxpath 的赋值放到了循环内部,并使用新的 number 值来构造新的 XPATH。同时,我们还添加了点击电影链接的语句,使得可以进入电影详情页获取电影名称和评分。
<body> <header> <h1>留言板</h1> </header> <main> <section class="submit_box"> <form id="message_form"> <div class="area_box"> <textarea rows="5" cols="40" placeholder="发表留言..." name="message" id="message"></textarea> </div> <div class="rating_box"> <label for="rating">评分:</label> <input type="number" name="rating" id="rating" min="1" max="5"> </div> <button type="submit">发表</button> </form> </section> <section class="content_box"> <h2>留言列表</h2> <ul id="message_list"> <!-- 留言列表 --> </ul> </section> </main> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></scr解释代码ipt> <script src="app.js"></script>
这是一个简单的 HTML 代码,用于创建一个留言板页面。该页面包含一个留言提交表单和一个留言列表,用户可以在表单中填写留言内容和评分,然后提交表单,将留言添加到留言列表中。
这段 HTML 代码的结构如下:
1. `<body>` 标签是 HTML 文档的主体部分,包含了页面的所有内容。
2. `<header>` 标签用于定义页面的页眉部分,包含了一个标题。
3. `<main>` 标签用于定义页面的主要内容,包含了留言提交表单和留言列表。
4. `<section>` 标签用于定义页面中的一个区块,包含了留言提交表单或留言列表。
5. `<form>` 标签用于定义表单,包含了留言内容和评分两个输入框和一个提交按钮。
6. `<textarea>` 标签用于定义多行文本输入框,用户可以在其中输入留言内容。
7. `<input>` 标签用于定义单行文本输入框或其他类型的输入框,这里用于定义评分输入框。
8. `<button>` 标签用于定义按钮,用户可以点击该按钮提交表单。
9. `<ul>` 标签用于定义一个无序列表,用于显示留言列表。
10. `<script>` 标签用于定义 JavaScript 代码,这里引入了 jQuery 库和一个名为 app.js 的 JavaScript 文件。