我想做一个网页刮,这是由硒从另一个网页打开。在
我用Selenium在一个网站上输入了一个搜索词,这让我进入了一个新页面。我的目标是用这个新页面来制作汤。但是,soup是从我输入搜索词的前一页创建的。救命啊!在
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get('http://www.ratestar.in/')
inputElement = driver.find_element_by_css_selector("#txtStock")
inputElement.send_keys('GM Breweries')
inputElement.send_keys(Keys.ENTER)
driver.wait.until(staleness_of('txtStock')
source = driver.page_source
soup = BeautifulSoup(source)
jen@berns给出了可行的解决方案。但没有必要在搜索中提供公司的确切名称。当你输入一个不精确的名字时,会弹出一个下拉列表。在
我观察到,除非出现此下拉列表,否则enter键不起作用。您可以通过访问站点,粘贴名称并尽快按enter键来检查。什么也没发生。在
您也可以等待此下拉列表可见,然后发送enter钥匙。这个也能完美工作。请注意,如果存在多个项目,则最终将选择下拉列表中的第一个项目。在
你需要知道执行公司的名字以便搜索。使用send_键之后,您尝试检查元素是否过时。我不明白那句话应该怎么说。我为新页面的一个元素添加了WebDriverWait。在
对于我来说,以下是对selenium部分的重新组合,直到获得页面源代码:
您应该添加异常处理。在
相关问题 更多 >
编程相关推荐