Выберите поле ввода, а затем соскрести с полученной страницы - Python - PullRequest
0 голосов
/ 10 марта 2020

Итак, я видел несколько постов об этом, используя селен, но ничего такого, что я действительно мог бы использовать.

Я смотрю на этом сайте: 'https://www.marketscreener.com/stock-exchange/calendar/finance/' и на левой стороне фильтр страны хочет просто подать в «Соединенные Штаты».

Пока у меня есть это, глядя на другие ответы:

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome('./chromedriver/chromedriver')
driver.get('https://www.marketscreener.com/stock-exchange/calendar/finance/')
sleep(6)
checkbox = driver.find_element_by_css_selector("foo")
checkbox.click()

, но не знаю, что Поместите в foo, кто-нибудь может помочь?

Я хочу go на полученную страницу, которая фильтрует только по Соединенным Штатам, и имеет эту страницу внутри контента BeautifulSoup, чтобы я мог очистить ее

Ответы [ 2 ]

0 голосов
/ 10 марта 2020

Не уверен, что вы извлекаете данные в beautifulsoup (предоставьте их вам), однако, если вы хотите открыть сайт

driver.get('https://www.marketscreener.com/stock-exchange/calendar/finance/')

нажмите на выпадающее меню

driver.find_element_by_id("selCountry").click()

Снимите отметку со всех

driver.find_element_by_xpath("//label[@for='all_countries']").click()

разверните список

driver.find_element_by_xpath("//label[@for='exp8']").click()

, затем выберите США

driver.find_element_by_xpath("//label[@for='country_12']").click()

выше будет работать ...

0 голосов
/ 10 марта 2020

Почему вы не используете id вместо css_selector? т.е. driver.find_element_by_id('country_12')

United_states имеет идентификатор = "страна_12".

Перед этим вам также необходимо снять флажок для всех стран, например driver.find_element_by_id('all_countries')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...