Python for 循环没有遍历所有元素?它只取第一个元素
Python for loop not looping through all the elements? It is only taking the 1st element
我正在尝试从 naukri.com 抓取数据,这里我正在尝试抓取页面上可见的每个招聘人员的位置详细信息。
我写的代码是:
def sol7(url):
driver = webdriver.Chrome(r'C:\Users\Rahul\Downloads\chromedriver_win32\chromedriver.exe')
driver.maximize_window()
driver.get(url)
#getting link of recruiters
recruiters_tag = driver.find_element_by_xpath("//ul[@class='midSec menu']/li[2]/a")
driver.get(recruiters_tag.get_attribute('href'))
#search and click for data scientist
driver.find_element_by_xpath("//input[@class='sugInp']").send_keys('Data science')
driver.find_element_by_xpath("//button[@id='qsbFormBtn']").click()
highlight_table_tag = driver.find_elements_by_xpath("//p[@class='highlightable']")
print(len(highlight_table_tag))
for i in highlight_table_tag:
try:
print((i.find_element_by_xpath("//small[@class='ellipsis']")).text)
except NoSuchElementException:
print('-')
1st 我提取了列表 highlight_table_tag 中的所有招聘人员详细信息。
highlight_table_tag 包括页面上的所有元素,但是循环只采用列表中的第 0 个元素。
我想以这种方式抓取位置,如果位置标签不存在于 highlight_table_tag 的每个元素中,则改为打印“-”。
请帮忙!!!!
虽然 xpathing 子元素使用 .在 xpath 前面,否则你将从根节点获取它。每次都以 1 个元素结束。
print((i.find_element_by_xpath(".//small[@class='ellipsis']")).text)
我正在尝试从 naukri.com 抓取数据,这里我正在尝试抓取页面上可见的每个招聘人员的位置详细信息。
我写的代码是:
def sol7(url):
driver = webdriver.Chrome(r'C:\Users\Rahul\Downloads\chromedriver_win32\chromedriver.exe')
driver.maximize_window()
driver.get(url)
#getting link of recruiters
recruiters_tag = driver.find_element_by_xpath("//ul[@class='midSec menu']/li[2]/a")
driver.get(recruiters_tag.get_attribute('href'))
#search and click for data scientist
driver.find_element_by_xpath("//input[@class='sugInp']").send_keys('Data science')
driver.find_element_by_xpath("//button[@id='qsbFormBtn']").click()
highlight_table_tag = driver.find_elements_by_xpath("//p[@class='highlightable']")
print(len(highlight_table_tag))
for i in highlight_table_tag:
try:
print((i.find_element_by_xpath("//small[@class='ellipsis']")).text)
except NoSuchElementException:
print('-')
1st 我提取了列表 highlight_table_tag 中的所有招聘人员详细信息。 highlight_table_tag 包括页面上的所有元素,但是循环只采用列表中的第 0 个元素。 我想以这种方式抓取位置,如果位置标签不存在于 highlight_table_tag 的每个元素中,则改为打印“-”。
请帮忙!!!!
虽然 xpathing 子元素使用 .在 xpath 前面,否则你将从根节点获取它。每次都以 1 个元素结束。
print((i.find_element_by_xpath(".//small[@class='ellipsis']")).text)