Я пытаюсь использовать Selenium в сочетании с BeautifulSoup. Чтобы быть более конкретным, я пытаюсь щелкнуть ссылку NCAA Division I
из выпадающего меню here (изначально он говорит Top 25
).Selenium Python не может найти_element_by_link_text
HTML-тег для ссылки выглядит следующим образом:
<li><a href="#" data-type="conference" data-week="null-null-null" data-group="50">NCAA Division I</a></li>
Для меня, кажется, прямо вперед: driver.find_element_by_link_text('NCAA Division I').click()
Является ли это потому, что href="#"
или, может быть, потому что <a>
тег вложен в <li>
теге ?
Вот что происходит:
(Pdb) driver.find_element_by_link_text('NCAA Division I').click()
*** NoSuchElementException: Message: no such element: Unable to locate element: {"method":"link text","selector":"NCAA Division I"}
(Session info: chrome=54.0.2840.100)
(Driver info: chromedriver=2.25.426924 (649f9b868f6783ec9de71c123212b908bf3b232e),platform=Linux 4.4.0-45-generic x86_64)
Полный код:
import numpy as np
import requests
from bs4 import BeautifulSoup
import re
import datetime
import os
from selenium import webdriver
scores_link = "http://www.espn.com/mens-college-basketball/scoreboard/_/date/20161122"
r = requests.get(scores_link)
driver = webdriver.Chrome()
driver.get(scores_link)
driver.find_element_by_link_text('NCAA Division I').click()
soup = BeautifulSoup(driver.page_source)