我有一个在大学练习的代码 . 我已经安装了所有的软件包,但我不知道问题出在哪里 . 这将是一个小刮刀,只是测试它...
import requests # http requests
from lxml import html # html code --> xml tree
from selenium import webdriver # Selenium
driver = webdriver.Chrome(executable_path=r'C:\python27\chromedriver.exe')
from selenium.webdriver.common.keys import Keys # keyboard inputs
import time # functions using time
# In[89]:
browser = webdriver.Chrome() # Use Google Chrome Browser
# In[90]:
url = "http://www.hm.com/de/" # place URL here
#request website code
browser.get(url)
# In[91]:
# find body element
body_element = browser.find_element_by_tag_name("body")
# scroll up and down
body_element.send_keys(Keys.PAGE_DOWN)
time.sleep(0.5)
body_element.send_keys(Keys.PAGE_DOWN)
time.sleep(0.5)
body_element.send_keys(Keys.PAGE_UP)
time.sleep(0.5)
body_element.send_keys(Keys.PAGE_UP)
# In[92]:
#select search bar
search_field = browser.find_element_by_id("search-input")
# In[93]:
search_field.send_keys("Weihnachten") # insert search term
# In[94]:
#click searching button
browser.find_element_by_id("make-search-icon").click() # insert ID here
time.sleep(10)
# In[95]:
#click order button
browser.find_element_by_xpath("//*[@id=\"filter-controls-container\"]/div[3]/div/div/ul/li[4]/a/span").click()
并且错误消息说:
Traceback(最近一次调用最后一次):browser.find_element_by_xpath(“// * [@ id = \”filter-controls-container \“] / div [3] / div / div / ul / li [4] / a / span“) . 单击()文件”C:\ Python27 \ lib \ site-packages \ selenium \ webdriver \ remote \ webelement.py“,第80行,单击self._execute(Command.CLICK_ELEMENT)文件”C:\ Python27 \ lib中\站点包\硒\的webdriver \远程\ webelement.py “线501,在返回_execute self._parent.execute(命令,则params)文件” C:\ Python27 \ lib中\站点包\硒\的webdriver \远程\ webdriver.py”,线路308,在执行self.error_handler.check_response(响应)文件 “C:\ Python27 \ lib中\站点包\硒\的webdriver \远程\ errorhandler.py”,线路194,在check_response提高exception_class(消息,屏幕,堆栈跟踪)selenium.common.exceptions.ElementNotVisibleException:消息:元素不可见(会话信息:铬= 62.0.3202.94)(驱动程序信息:chromedriver = 2.33.506120(e3e53437346286c0bc2d2dc9aa4915ba81d9023f),平台= Windows NT的10.0 .15063 x86_64)
我认为错误试图告诉我该元素不可见?我该如何解决?我通过添加time.sleep(10)来尝试它 .
1 回答