Я пытаюсь вычеркнуть названия компаний на "https://dribbble.com/jobs" - PullRequest
1 голос
/ 28 апреля 2020

Когда я пытаюсь использовать следующий код, он снова возвращает только первый элемент. Я новичок в python, поэтому буду признателен за любую помощь.

import pandas as pd 
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome('/Users/user/Downloads/chromedriver_win32/chromedriver')
driver.get('https://dribbble.com/jobs')
assert 'Dribbble' in driver.title 
columns = ['company']
count = 0
jobs = pd.DataFrame(columns=columns)
for item in range(10): 
            company_elem = "job-board-job-title"
            company = driver.find_element_by_class_name(company_elem).text
            item+=1
            jobs.loc[item] = [company]
driver.close()  

Ответы [ 2 ]

1 голос
/ 28 апреля 2020
import pandas as pd
from selenium import webdriver
# from time import sleep
driver = webdriver.Chrome(r'E:\data\python\pycharm\chromedriver_win32\chromedriver.exe')
driver.get('https://dribbble.com/jobs')
assert 'Dribbble' in driver.title
columns = ['company']
count = 0
jobs = pd.DataFrame(columns=columns)
# for item in range(10):
# company_elem = "job-board-job-title"
companies = driver.find_elements_by_class_name("job-board-job-title")
for i in companies:
     print(i.text)
# count += 1
# jobs.loc[count] = [company]
# print(jobs)
driver.close()

сделал несколько изменений в вашем коде сейчас, вам нужно получить все элементы вместо 1, где вы использовали элемент find, используйте элементы find. https://selenium-python.readthedocs.io/locating-elements.html#locating -элементы-на-класса имя

0 голосов
/ 28 апреля 2020

Вы можете изменить только одну строку, поэтому вместо

company = driver.find_element_by_class_name(company_elem).text

Попробуйте

company = driver.find_elements_by_class_name(company_elem)[item].text

, и результат будет:

                                     company
1       UI Designer / Animator / Illustrator
2                    Senior Product Designer
3          Freelance Senior Graphic Designer
4    Senior Product Designer, Internal Tools
5                       Sr. Product Designer
6                            User Researcher
7                           Product Designer
8                            Design Director
9                           Product Designer
10  Supply Chain Account Manager - 200163935
...