【发布时间】:2021-03-01 22:43:40
【问题描述】:
我正在尝试在信息不立即存在的网站上抓取信息。当您单击某个按钮时,页面开始在页面底部加载新内容,加载完成后,红色文本显示为“Assists (At Least)”。我能够找到第一个按钮“Go to Prop builder”,它不会立即显示在页面上,但是在脚本单击该按钮后,尝试查找“Assists(至少)”文本时会超时,尽管脚本处于休眠状态并出现在屏幕上。
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
import time
from bs4 import BeautifulSoup
driver = webdriver.Chrome()
driver.get('https://www.bovada.lv/sports/basketball/nba')
# this part succeeds
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//span[text()='Go to Prop builder']")
)
)
element.click()
time.sleep(5)
# this part fails
element2 = WebDriverWait(driver, 6).until(
EC.visibility_of_element_located(
(By.XPATH, "//*[text()='Assists (At Least)']")
)
)
time.sleep(2)
innerHTML = driver.execute_script('return document.body.innerHTML')
driver.quit()
soup = BeautifulSoup(innerHTML, 'html.parser')
【问题讨论】:
标签: python selenium selenium-webdriver webdriverwait