2017-03-24 62 views
1

我想移动到页面2和本页面(分页)与蟒蛇硒,并花了几个小时就此。我得到这个错误,并且将感谢任何help..Error从chromedriver无法点击网页上的元素硒python

is not clickable at point(). Other element would receive the click 

到目前为止我的代码:

class Chezacash: 
    t1 = time.time() 
    driver = webdriver.Chrome(chromedriver) 


    def controller(self): 
     self.driver.get("https://www.chezacash.com/#/home/") 
     element = WebDriverWait(self.driver, 10).until(
     EC.presence_of_element_located((By.CSS_SELECTOR, "div.panel-heading")))  
     soup = BeautifulSoup(self.driver.page_source.encode('utf-8'),"html.parser") 
     self.parser(soup) 
     self.driver.find_element(By.XPATH, "//li[@class='paginate_button active']/following-sibling::li").click() 
     time.sleep(2) 
     soup = BeautifulSoup(self.driver.page_source.encode('utf-8'),"html.parser") 
     self.parser(soup) 


    def parser(self, soup): 
     for i in soup.find("table", {"id":"DataTables_Table_1"}).tbody.contents: 
      date = i.findAll("td")[0].get_text().strip() 
      time = i.findAll("td")[1].get_text().strip() 
      home = i.findAll("td")[4].div.span.get_text().strip().encode("utf-8") 
      home_odds = i.findAll("td")[4].div.findAll("span")[1].get_text().strip() 
      draw_odds = i.findAll("td")[5].div.findAll("span")[1].get_text().strip() 
      away = i.findAll("td")[6].div.span.get_text().strip().encode("utf-8") 
      away_odds = i.findAll("td")[6].div.findAll("span")[1].get_text().strip() 
      print home 

cheza = Chezacash() 
try: 
    cheza.controller() 
except: 
    cheza.driver.service.process.send_signal(signal.SIGTERM) # kill the specific phantomjs child proc       # quit the node proc 
    cheza.driver.quit() 
    traceback.print_exc() 
+1

快速评论您的代码。在'for i'循环中,第一行应该将'i.findAll(“td”)'存储在变量中,然后'date'等等将访问不同的[[0]'等元素。您当前的代码正在为每个分配的变量重新打印页面('.findAll()')。 – JeffC

回答

2

如果相反,你会被找到“下一步”按钮链接文本,滚动到它的视图,然后单击:

next_button = self.driver.find_element_by_link_text("Next") 
self.driver.execute_script("arguments[0].scrollIntoView();", next_button) 
next_button.click() 

我还要导航到页面之前浏览器窗口最大化:

self.driver.maximize_window() 
self.driver.get("https://www.chezacash.com/#/home/") 
+0

Worked ..cheers mate .. –