#当页面不存在ID或者无法点击ID该怎么解决
for url in url_list:
driver.get(url)
# 等待页面加载完成
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "productTitle")))
# 获取数据链接
seller_link = driver.find_element(By.ID, "sellerProfileTriggerId").get_attribute('href')
# try:
# driver.find_elements(By.ID, "sellerProfileTriggerId").click()
# # 执行需要使用该元素的操作
# except NoSuchElementException:
# continue
driver.find_element(By.ID, "sellerProfileTriggerId").click()
seller_box = driver.find_element(By.CSS_SELECTOR,
'#page-section-detail-seller-info > div:nth-child(1) > div:nth-child(1)').text
print(seller_box)
#初步使用
try:
driver.find_elements(By.ID, "sellerProfileTriggerId").click()
# 执行需要使用该元素的操作
except NoSuchElementException:
continue
解决但还是显示没有找到ID,应该是没有ID属性值直接跳过的进行下一个循环的操作
#报错为
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/pythonProject/amzone/1.1.py", line 61, in <module>
seller_link = driver.find_element(By.ID, "sellerProfileTriggerId").get_attribute('href')
File "F:\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 831, in find_element
return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
File "F:\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 440, in execute
self.error_handler.check_response(response)
File "F:\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="sellerProfileTriggerId"]
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:182:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:394:5
element.find/</<@chrome://remote/content/marionette/element.sys.mjs:134:16