我如何单击第一个Div类“链接”;如果他们都有相同的Div类名称?
我正在尝试单击每个产品瓷砖的链接 https://wwww.hugoboss .com/uk/men-clothing/,使用硒。
我当前的代码:
import numpy as np
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
import time
driverfile = r'C:\Users\Main\Documents\Work\Projects\Scraping Websites\extra\chromedriver'
driver = webdriver.Chrome(executable_path=driverfile)
driver.implicitly_wait(10)
url = "https://www.hugoboss.com/uk/men-clothing/"
driver.get(url)
driver.implicitly_wait(10)
shadowRoot = driver.find_element(By.XPATH,"//div[@id='usercentrics-root']").shadow_root
shadowRoot.find_element(By.CSS_SELECTOR, "button[data-testid='uc-save-button']").click()
WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-testid='uc-save-button']"))).click()
WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.XPATH, "//a[@class='product-tile-plp__title-link.font--sub2.js-product-tile-link.widget-initialized']"))).click()
` 当前错误:
WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-testid='uc-save-button']"))).click()
File "C:\Users\Main\Anaconda3\lib\site-packages\selenium\webdriver\support\wait.py", line 87, in until
raise TimeoutException(message, screen, stacktrace)
TimeoutException
I am trying to click on the links for each of the product tiles https://www.hugoboss.com/uk/men-clothing/, using Selenium.
My current code: `
import numpy as np
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
import time
driverfile = r'C:\Users\Main\Documents\Work\Projects\Scraping Websites\extra\chromedriver'
driver = webdriver.Chrome(executable_path=driverfile)
driver.implicitly_wait(10)
url = "https://www.hugoboss.com/uk/men-clothing/"
driver.get(url)
driver.implicitly_wait(10)
shadowRoot = driver.find_element(By.XPATH,"//div[@id='usercentrics-root']").shadow_root
shadowRoot.find_element(By.CSS_SELECTOR, "button[data-testid='uc-save-button']").click()
WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-testid='uc-save-button']"))).click()
WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.XPATH, "//a[@class='product-tile-plp__title-link.font--sub2.js-product-tile-link.widget-initialized']"))).click()
`
Current Error:
WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-testid='uc-save-button']"))).click()
File "C:\Users\Main\Anaconda3\lib\site-packages\selenium\webdriver\support\wait.py", line 87, in until
raise TimeoutException(message, screen, stacktrace)
TimeoutException
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实际上,您无法从标题中单击每个链接,因为它们不包含任何可单击的按钮,但是您可以迭代它们以拉出URL。我使用BS4抓住每个链接,因为它们不是动态的。
输出:
Actually, you can't click on each link from title because they didn't contain any clickable button but you can iterate them to pull the url. I use bs4 to grab each link because they aren't dynamic.
Output: