【发布时间】:2017-08-11 14:49:03
【问题描述】:
我在 StackOverflow 上阅读了很多内容,但找不到适合我情况的任何内容。
所以,我正在尝试打开一个网站并搜索关键字。我想浏览每一页并获得价格。我将为所有页面执行此操作。
最初,我尝试单击“下一步”按钮,但该网站上的“下一步”按钮并未被禁用。例如,如果有 15 页,那么在第 15 页上,下一页按钮应该被禁用,但我可以无限次单击它。在第15页之后,点击它,它只显示第15页。
所以我得到了总页数并使用如下的 while 循环:任何人都可以在语法上帮助我吗?我做了以下事情:
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
#open a website and search a keyword
from selenium import webdriver
driver =webdriver.Firefox()
driver.get('https://www.insight.com/en_US/search.html')
list=['printer','printer cartridges','printer accessories']
for searchelement in list:
inputElement = driver.find_element_by_id("search-tab-banner-box-input")
inputElement.clear()
inputElement.send_keys(list)
wait( driver, 30 ).until( EC.visibility_of_element_located( (By.ID, "search-tab-banner-box-input") ) ).send_keys(Keys.ENTER )
inputElement.send_keys(Keys.TAB )
i=1
#Get total number of pages in search result and navigate through
# I want to do something like this. this is my logic not real code
totalpages= enumerate(driver.gettotalnumber of pages)
while (i<totalpages)
driver.find_element_by_class_name( "ion-chevron-right" ).click()
i+=1
#Get total number of pages
如何获取该变量中的总页数?
【问题讨论】:
-
您的
while语句不应缩进 -
哦!对不起,这里打错了。
-
driver.gettotalnumber of pages? -
用
page_source比较网页的html怎么样 -
@whackamadoodle3000:这是我的逻辑。不是真正的代码