Python / Selenium:无法抓取搜索结果

时间:2018-09-10 12:08:36

标签: python selenium web-scraping

我正在尝试制作一个程序,其中:

  • 您输入零件编号。

然后程序:

  • 打开供应商的所有网站
  • 登录
  • 搜索术语
  • 取消[价格,库存,其他物品]

不幸的是,我正在努力使网页抓取部分正常工作...我不确定是否是由于网页上如何生成搜索结果。

这是我的代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

search_term = 'EXAMPLE TERM'
browser = webdriver.Chrome(r'PATH\chromedriver.exe')


#SUPPLIER 1 
browser.get('https://supplierwebsite.com/')
browser.find_element_by_xpath('..."]').send_keys('USERNAME')   # Username field
browser.find_element_by_xpath('...').send_keys('PASSWORD')     # password field
browser.find_element_by_xpath('...').click()                   # login button
browser.find_element_by_xpath('...').send_keys(search_term)    # search box
browser.find_element_by_xpath('...').click()                   # search box

price =         browser.find_element_by_xpath('...').text      # price
stock =         browser.find_element_by_xpath('...').text      # stock

问题是,路径似乎不适用于搜索字词的结果...我已经尝试过事先设置时间延迟,但这不起作用。结果不产生任何结果。

Traceback (most recent call last):
  File "PATH\PriceChecker.py", line 77, in <module>
    price =         browser.find_element_by_xpath('...').text
  File "PATH\webdriver.py", line 393, in find_element_by_xpath
    return self.find_element(by=By.XPATH, value=xpath)
  File "PATH\webdriver.py", line 966, in find_element
    'value': value})['value']
  File "PATH\webdriver.py", line 320, in execute
    self.error_handler.check_response(response)
  File "PATH\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"..."}
  (Session info: chrome=68.0.3440.106)
  (Driver info: chromedriver=2.41.578737 

您知道如何解决此问题吗?在这个阶段使用请求(或其他方法)会更好吗?

谢谢。

0 个答案:

没有答案