我正在编写一个程序来检查需要登录的网站上的投注等级。我知道我需要的文本不是标准HTML,而是JS。
我需要的元素在表格中,如“ {rating”标题下的here所示。
这是HTML的外观。
我也一直在使用driver.find_element_by_css_selector()
和Xpath
,innerHTML
和outerHTML
。
总是一样的:
NoSuchElementException:消息:无法找到元素
代码:
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
url = 'https://www.profitaccumulator.co.uk/wp-login.php'
driver = webdriver.Firefox()
driver.get(url)
usernameElem = driver.find_element_by_css_selector('#user_login')
usernameElem.send_keys('*******')
passwordElem = driver.find_element_by_css_selector('#user_pass')
passwordElem.send_keys('**********')
passwordElem.submit()
driver.implicitly_wait(5)
oddsElem = driver.find_element_by_css_selector('#menu-item-1148 > a:nth-
child(1)')
oddsElem.click()
driver.implicitly_wait(5)
driver.switch_to.window(driver.window_handles[1])
driver.implicitly_wait(10)
html = driver.execute_script("return document.documentElement.innerHTML")
#changing outerHTML to innerHTML didn't help
sel_soup = BeautifulSoup(html, 'html.parser')
print(sel_soup)