通过硒xpath定位元素



我正试图通过在此处输入链接描述来定位以下元素,代码为x_title=driver.find_element(By.XPATH,'//h2/a/span[@class="a-size-medium"]')

它给出了selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//h2/a/span[@class="a-size-medium"]"}的错误

<div class="a-section a-spacing-none puis-padding-right-small s-title-instructions-style">
<h2 class="a-size-mini a-spacing-none a-color-base s-line-clamp-2">
<a class="a-link-normal s-underline-text s-underline-link-text s-link-style a-text-normal" href="/Love-Languages-Secret-that-Lasts/dp/080241270X/ref=sr_1_1?qid=1667035762&amp;refinements=p_n_feature_eighteen_browse-bin%3A8622846011&amp;rnid=8622845011&amp;s=books&amp;sr=1-1">
<span class="a-size-medium a-color-base a-text-normal">The 5 Love Languages: The Secret to Love that Lasts</span>
</a> 
</h2>
<div class="a-row a-size-base a-color-secondary"><div class="a-row"><a class="a-link-normal puis-light-weight-text s-underline-text s-underline-link-text s-link-style s-link-centralized-style" href="/dp/B07VVJPJ5Z?binding=kindle_edition&amp;searchxofy=true&amp;qid=1667035762&amp;sr=1-1"><span>Part of: The 5 Love Languages Series (11 books)</span> </a> <span class="a-letter-space"></span><span class="a-size-base a-color-secondary puis-light-weight-text"> | </span><span class="a-letter-space"></span><span class="a-size-base puis-light-weight-text">by </span><a class="a-size-base a-link-normal puis-light-weight-text s-underline-text s-underline-link-text s-link-style s-link-centralized-style" href="/Gary-Chapman/e/B01IAEQ73Q?ref=sr_ntt_srch_lnk_1&amp;qid=1667035762&amp;sr=1-1">Gary Chapman</a> <span class="a-letter-space"></span><span class="a-size-base a-color-secondary puis-light-weight-text"> | </span><span class="a-letter-space"></span><span class="a-size-base a-color-secondary puis-light-weight-text a-text-normal">Jan 1, 2015</span></div></div></div>

这里是元素的xpath;//*[@id="search"]/div[1]/div[1]/div/span[1]/div[1]/div[2]/div/div/div/div/div/div[2]/div/div/div[1]/h2/a/span

编辑:我也试过x_title=driver.find_element(By.XPATH,'//div[@class="s-title-instructions-style"]//span[@class="a-size-medium"]')

错误跟踪:selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@class="s-title-instructions-style"]//span[@class="a-size-medium"]"}

您的错误是元素具有多个类名。不仅是CCD_ 6和CCD_
因此,它应该是而不是//div[@class="s-title-instructions-style"]//span[@class="a-size-medium"]

"//div[contains(@class,"s-title-instructions-style")]//span[contains(@class,"a-size-medium")]"

你也可以使用这个CSS选择器,它看起来更短的

".s-title-instructions-style .a-size-medium"

最新更新