使用Python3,我试图让chromewebdriver和Selenium识别网页上的各种“分类广告”类别www.jtinsight.com从那里打印出分类标题。到目前为止,使用下面的代码,我能做的就是让它打印出前两个-'所有类别'和'汽车(私人)'。我已经确定了这两个的html与其他的不同,并且尝试了许多不同的代码行,我已经在注释掉的代码中列出了这些代码行,但是无法确定正确的标记/类/xpath等等。 任何帮助都将不胜感激。你知道吗
from selenium import webdriver
from selenium.webdriver.common.by import By
# Creating the WebDriver object using the ChromeDriver
driver = webdriver.Chrome()
# Directing the driver to the defined url
driver.get("https://www.jtinsight.com/JTIRA/JTIRA.aspx#!/main")
# Locate the categories
# Each code line runs but only returns the first two categories
# categories = driver.find_elements_by_xpath('//div[@class="col-md-3 col-sm-4 col-xs-6"]')
# categories = driver.find_elements_by_xpath('//div[@class="mainCatEntry"]')
# categories = driver.find_elements_by_xpath('//div[@class="Description"]')
# Process ran but finished with exit code 0
# categories = driver.find_elements_by_xpath('//*[@class="col-md-3 col-sm-4 col-xs-6 ng-scope"]')
# categories = driver.find_elements_by_xpath('//div[@class="col-md-3 col-sm-4 col-xs-6 ng-scope"]')
# categories = driver.find_elements_by_partial_link_text('//href[@class="divLink"]')
# categories = driver.find_elements_by_tag_name('bindonce')
# categories = driver.find_elements_by_xpath('//div[@class="divLink"]')
# Error before finished running
# categories = driver.find_elements(By.CLASS_NAME, "col-md-3 col-sm-4 col-xs-6 ng-scope")
# categories = driver.find_elements(By.XPATH, '//div bindonce[@class="col-md-3 col-sm-4 col-xs-6 ng-scope"]')
# categories = driver.find_elements_by_class_name('//div bindonce[@class="col-md-3 col-sm-4 col-xs-6 ng-scope"]')
# Print out all categories on current page
num_page_items = len(categories)
print(num_page_items)
for i in range(num_page_items):
print(categories[i].text)
# Clean up (close browser once task is completed.)
driver.close()
要识别网页
https://www.jtinsight.com/JTIRA/JTIRA.aspx#!/main
上的各种分类广告类别并打印类别标题,例如所有类别、汽车(私人)等,您需要向下滚动并归纳visibility_of_all_elements_located()
的WebDriverWait,您可以使用以下解决方案:代码块:
这确实是个时间问题。如果我在收集分类之前加上一个“sleep(5)”,它会找到全部24个。有趣的是,当我改用WebDriverWait时,它仍然只能显示2个项目。因此,为了迫使驱动程序做更多的工作,我扩展了xpath。以下几点对我有用:
相关问题 更多 >
编程相关推荐