首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium ChomeDriver没有识别网站菜单按钮的XPATH

Selenium ChomeDriver没有识别网站菜单按钮的XPATH
EN

Stack Overflow用户
提问于 2022-10-03 15:15:55
回答 2查看 81关注 0票数 0

我试图从使用selenium色度驱动程序的时尚零售网站中提取产品分类分解。但是,我很早就被困住了,因为我不能选择公司的菜单按钮

代码语言:javascript
复制
driver = webdriver.Chrome(PATH)

driver.get("https://www.zara.com/ca/")
driver.implicitly_wait(5)


menudd = driver.find_element(By.XPATH, '//*[@id="theme- 
app"]/div/div/header/div/div[1]/button/svg')
menudd.click()  

错误:

代码语言:javascript
复制
NoSuchElementException                    Traceback (most recent call last)
Input In [7], in <cell line: 8>()
  4 driver.get("https://www.zara.com/ca/")
  5 driver.implicitly_wait(5)
----> 8 menudd = driver.find_element(By.XPATH, '//*[@id="theme- 
app"]/div/div/header/div/div[1]/button/svg')
  9 menudd.click()`
EN

回答 2

Stack Overflow用户

发布于 2022-10-03 20:58:55

更好的方法是使用WebDriverWait预期条件显式等待,而不是implicitly_wait

而且你的定位器不好。

这对我起了作用:

代码语言:javascript
复制
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

driver.get("https://www.zara.com/ca/")
wait = WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[aria-label='Open Menu']"))).click()
票数 0
EN

Stack Overflow用户

发布于 2022-10-04 11:34:16

如果您想在xpath中找到svg,您应该这样写

代码语言:javascript
复制
//*[@id="theme-app"]/div/div/header/div/div[1]/button/*[name()='svg']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73937482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档