Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Selenium无法获取结果页上第一个图像的Alt属性_Python_Selenium - Fatal编程技术网

Python Selenium无法获取结果页上第一个图像的Alt属性

Python Selenium无法获取结果页上第一个图像的Alt属性,python,selenium,Python,Selenium,Selenium无法获取图像的属性,我使用下面的方法(类名)获取该属性。我做错了什么?这是在亚马逊HP上发生的 def getByClass(InputElement, amazonDriver): getByClass = WebDriverWait(amazonDriver, 10).until(EC.visibility_of_element_located((By.CLASS_NAME, InputElement))) return getByClass 现在我这样称呼

Selenium无法获取图像的属性,我使用下面的方法(类名)获取该属性。我做错了什么?这是在亚马逊HP上发生的

def getByClass(InputElement, amazonDriver):
    getByClass = WebDriverWait(amazonDriver, 10).until(EC.visibility_of_element_located((By.CLASS_NAME, InputElement)))
    return getByClass
现在我这样称呼它:

amazonResultImage = getByClass('s-image', amazonDriver)
assert 'George Duke' in amazonResultImage.get_attribute("alt")
现在,我收到以下错误消息:

  File "./amazon.py", line 23, in <module>
    assert 'Dream on by George Duke (2011-11-22)' in amazonResultImage.get_attribute("alt")
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webelement.py", line 143, in get_attribute
    resp = self._execute(Command.GET_ELEMENT_ATTRIBUTE, {'name': name})
文件“/amazon.py”,第23行,在
在amazonResultImage中断言“乔治·杜克的梦想(2011-11-22)”。获取属性(“alt”)
文件“/usr/local/lib/python3.6/dist packages/selenium/webdriver/remote/webelement.py”,第143行,在get_属性中
resp=self.\u execute(Command.GET\u ELEMENT\u属性,{'name':name})
HTML

<img src="https://m.media-amazon.com/images/I/31W0bbjFwJL._AC_UY218_ML3_.jpg" class="s-image" alt="Sheila E. &amp; George Duke - A Love Bizarre / I Want You For Myself - Ballroom Records" srcset="" data-image-index="2" data-image-load="" data-image-latency="s-product-image" data-image-source-density="1">


您是否在
获取属性(“href”)
获取属性(“alt”)
上收到错误消息?您发布的代码显示您正在获取
href
属性,但您发布的错误消息显示
alt
上有错误。我不清楚您的示例中运行的是哪一个代码。请检查是否有多个元素具有class
s-image
如果
get\u属性
是导致此处出现问题的具体原因,您可能应该发布您试图定位的web元素的HTML。如果没有任何HTML可供参考,我们就无法进行更多的疑难解答。@meshfields要回答上述问题,单击某个元素可能会触发一些更新WebElement属性的
onclick()
事件。这是许多selenium用户遇到的常见问题。您的元素尚未“销毁”,但已过时。您拥有对不再处于原始状态的WebElement的引用。您必须调用
驱动程序。再次在元素上查找\u元素
,以获得“新鲜”元素。浏览到Chrome中的页面,打开devtools,然后运行
$$(“.s-image”)
。找到了多少元素?我猜不止一个。您想要的元素可能不是使用该定位器找到的第一个元素。我们将需要更多关于该元素的相关HTML,链接到该页面也将非常有用。