Python Selenium未使用xpath提取信息

Python Selenium未使用xpath提取信息,python,selenium,xpath,css-selectors,webdriverwait,Python,Selenium,Xpath,Css Selectors,Webdriverwait,我试图使用selenium从数据库中提取一些信息。但我无法在selenium中使用xpath获取这些信息 在下图中,我想提取突出显示的信息。 这是我正在使用的代码 try: path = "//div[@id='desktop_buybox']//div[@class='a-box-inner']//span[@class='a-size-small')]" seller_element = WebDriverWait(driver, 5).until(

我试图使用selenium从数据库中提取一些信息。但我无法在selenium中使用xpath获取这些信息

在下图中,我想提取突出显示的信息。

这是我正在使用的代码

try:
    path = "//div[@id='desktop_buybox']//div[@class='a-box-inner']//span[@class='a-size-small')]"
    seller_element = WebDriverWait(driver, 5).until(
        EC.visibility_of_element_located((By.XPATH, path)))
except Exception as e:
    print(e)
当我运行这段代码时,它显示seller_element=WebDriverWaitdriver,5.5.1存在错误,但没有说明它是什么异常

我试着在线查看,发现当selenium在网页中找不到元素时会发生这种情况

但我认为我所指明的道路是正确的。请帮帮我

提前谢谢

[编辑-1] 这是我得到的例外

Message:
XPath可以是这样的。你可以缩短这个

CSS选择器可以是,等等

.a-section.a-spacing-none.a-spacing-top-base
.a-size-small.a-color-secondary

亚马逊正在根据您居住的国家更新其内容,因为我点击了您提供的链接,在那里我没有找到您正在寻找的元素,因为该项目在印度没有销售

因此,简而言之,如果你坐在印度,试图找到你的元素,它不在那里,但当你改变位置到美国。它正在那里出现


解决方案-更改位置

我认为原因是xpath表达式不正确

以以下元素为例,表示跨度有两类:

<span class="a-size-small a-color-secondary">
或CSS选择器作为

span.a-size-small.a-color-secondary
要打印来自Amazon.com并由Amazon.com出售的某个元素的发货,您必须对所定位的元素的可见性进行诱导,并且您可以使用以下任一方法:

使用CSS_选择器和get_属性:

print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='a-section a-spacing-none a-spacing-top-base']/span[@class='a-size-small a-color-secondary']"))).text)
使用XPATH和文本属性:

print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='a-section a-spacing-none a-spacing-top-base']/span[@class='a-size-small a-color-secondary']"))).text)
注意:您必须添加以下导入:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
您可以在中找到相关的讨论

奥特罗 链接到有用的文档:

方法获取元素的给定属性或属性。 属性返回元素的文本。
这就产生了同样的错误。这可能与网站的设计方式有关吗?为什么不使用CSS选择器而不是xpath来获取元素?如果你试一下,那有用吗?我也试过。有多个元素具有相同的类。所以selenium没有得到我想要的正确信息。这是什么问题?路径似乎根本不正确。@arundeepchohan selenium无法访问我要提取的元素。我已经在问题中发布了代码。请看一看。
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='a-section a-spacing-none a-spacing-top-base']/span[@class='a-size-small a-color-secondary']"))).text)
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC