<a href="https://www.d17.cc/member/register.html" class="link-a" title="注册">注册</a> 两行代码怎么通过WebDriverWait 找寻属性
时间: 2023-10-22 08:05:19 浏览: 37
你可以使用 `WebDriverWait` 和 `expected_conditions` 类来查找元素的属性。以下是一个例子:
```python
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 假设driver是已经实例化的webdriver对象
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.CLASS_NAME, "link-a")))
attribute_value = element.get_attribute("title")
```
在上面的代码中,我们使用 `WebDriverWait` 等待页面中的 `link-a` 类名元素的出现。然后,我们使用 `get_attribute` 方法来获取元素的 `title` 属性的值。你可以根据自己的需要修改属性名称和等待时间。
相关问题
请针对网址:https://bbs.zol.com.cn/dcbbs/d15.html 编写python爬虫。 要求将 ZOL论坛,摄影论坛,摄影作品论坛,动物植物论坛,四个论坛模块下所有帖子的图片爬取回来,每个帖子一个文件夹(文件夹名使用帖子名命名),文件夹中存放该帖子中所有图片。 例如“八色鸫”帖子中只有一张图片,我们需要建一个名为“八色鸫”的文件夹,然后将帖子中的图片存入其中。图片文件命名可以使用数字编号。
好的,这里提供一个Python的爬虫程序,使用BeautifulSoup和requests库,可以实现你的需求。请注意,爬取网站的行为可能会对网站造成不良影响,请勿滥用。
```python
import os
import requests
from bs4 import BeautifulSoup
# 定义函数,下载图片并保存到指定目录下
def download_img(img_url, path):
response = requests.get(img_url)
with open(path, 'wb') as f:
f.write(response.content)
# 论坛模块链接
urls = [
'https://bbs.zol.com.cn/dcbbs/d15.html',
'https://bbs.zol.com.cn/dcbbs/d16.html',
'https://bbs.zol.com.cn/dcbbs/d17.html',
'https://bbs.zol.com.cn/dcbbs/d21.html'
]
# 遍历所有模块链接
for url in urls:
# 发送请求
response = requests.get(url)
# 解析页面
soup = BeautifulSoup(response.text, 'html.parser')
# 找到所有帖子的链接
post_links = soup.select('.post-td a')
# 遍历所有帖子链接
for post_link in post_links:
post_url = post_link['href']
post_response = requests.get(post_url)
post_soup = BeautifulSoup(post_response.text, 'html.parser')
# 找到帖子标题
post_title = post_soup.select('.post-title a')[0].text.strip()
# 创建以帖子标题为名字的文件夹
folder_path = os.path.join(os.getcwd(), post_title)
if not os.path.exists(folder_path):
os.makedirs(folder_path)
# 找到帖子中所有图片链接
img_links = post_soup.select('.post-text img')
# 遍历所有图片链接,下载并保存到文件夹中
for i, img_link in enumerate(img_links):
img_url = img_link['src']
img_path = os.path.join(folder_path, f'{i}.jpg')
download_img(img_url, img_path)
```
这个爬虫程序会在当前目录下创建以帖子名命名的文件夹,然后将帖子中的所有图片下载并保存到对应的文件夹中,图片文件名使用数字编号。你只需要将该代码保存成.py文件,运行即可。
import time from time import sleep from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By from 类.厚沃宝.发票.发票登录页 import Hwblogin driver = webdriver.Chrome() driver.get('https://hwb-sit.newhopeleasing.com/SSO/channelSignOn?callbackUri=%2FprocessManage%2FincomingTransfer&openId=ojkrQ0qccdb1SqIQ0uuYCUcSP7j8&agentId=3586882d17d441cbba7890db112807e4&channelId=0001') driver.maximize_window() #设置隐式等待时间为10秒,如果系统找不到元素,可以等待10秒,超过10秒则抛出异常 driver.implicitly_wait(10) hwb = Hwblogin('13774268861','9999') hwb.Hwblogin(driver) sleep(3)
根据代码的上下文,这段代码的作用是使用 Selenium 自动化测试工具,打开一个网址,然后使用 `webdriver.Chrome()` 创建一个 Chrome 浏览器的实例,将窗口最大化,设置隐式等待时间为 10 秒,使用 `Hwblogin` 类中的 `Hwblogin` 方法登录指定网站,并且在登录成功后等待 3 秒。这段代码看起来没有明显的问题,但是需要确认 `Hwblogin` 类的实现是否正确,以及是否需要输入验证码等其他信息。