我无法打印用硒废弃的数据
I can't print data that I scrapped with selenium
我正在上刮痧课程。我正在使用 webdriver 和 selenium 从网络中提取数据。
虽然以前有效,但我根本无法打印信息。
代码如下:
from selenium import webdriver
from selenium.webdriver.support.ui import Select
website = "https://www.adamchoi.co.uk/teamgoals/detailed"
path = r"H:/PROGRAMMING/Learning and Proyects/chromedriver_win32/chromedriver"
driver = webdriver.Chrome(executable_path= f"{path}")
driver.get(website)
all_matches_button = driver.find_element_by_xpath('//label[@analytics-event="All matches"]')
all_matches_button.click()
dropdown = Select(driver.find_element_by_id("country"))
dropdown.select_by_visible_text("Spain")
matches = driver.find_elements_by_tag_name("tr")
for match in matches:
match.txt
print(match.txt)
最后我收到这个:
"H:\PROGRAMMING\anaconda\envs\Learning and Proyects\python.exe" "H:/PROGRAMMING/Learning and Proyects/Test scrape yelp.py"
Process finished with exit code 0
它应该打印匹配项。
我看不出这段代码是如何工作的。唯一可行的方法是 运行 逐步在调试模式下,而不是在正常 运行 模式下。
您错过了这里的等待时间。
这些最好是预期条件显式等待。
请尝试以下操作:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
import time
website = "https://www.adamchoi.co.uk/teamgoals/detailed"
path = r"H:/PROGRAMMING/Learning and Proyects/chromedriver_win32/chromedriver"
driver = webdriver.Chrome(executable_path= f"{path}")
wait = WebDriverWait(driver, 20)
driver.get(website)
wait.until(EC.visibility_of_element_located((By.XPATH, '//label[@analytics-event="All matches"]'))).click()
wait.until(EC.visibility_of_element_located((By.ID, 'country')))
dropdown = Select(driver.find_element_by_id("country"))
dropdown.select_by_visible_text("Spain")
wait.until(EC.visibility_of_element_located((By.XPATH, '//tr')))
time.sleep(0.5)
matches = driver.find_elements_by_tag_name("tr")
for match in matches:
print(match.text)
我正在上刮痧课程。我正在使用 webdriver 和 selenium 从网络中提取数据。 虽然以前有效,但我根本无法打印信息。
代码如下:
from selenium import webdriver
from selenium.webdriver.support.ui import Select
website = "https://www.adamchoi.co.uk/teamgoals/detailed"
path = r"H:/PROGRAMMING/Learning and Proyects/chromedriver_win32/chromedriver"
driver = webdriver.Chrome(executable_path= f"{path}")
driver.get(website)
all_matches_button = driver.find_element_by_xpath('//label[@analytics-event="All matches"]')
all_matches_button.click()
dropdown = Select(driver.find_element_by_id("country"))
dropdown.select_by_visible_text("Spain")
matches = driver.find_elements_by_tag_name("tr")
for match in matches:
match.txt
print(match.txt)
最后我收到这个:
"H:\PROGRAMMING\anaconda\envs\Learning and Proyects\python.exe" "H:/PROGRAMMING/Learning and Proyects/Test scrape yelp.py" Process finished with exit code 0
它应该打印匹配项。
我看不出这段代码是如何工作的。唯一可行的方法是 运行 逐步在调试模式下,而不是在正常 运行 模式下。
您错过了这里的等待时间。
这些最好是预期条件显式等待。
请尝试以下操作:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
import time
website = "https://www.adamchoi.co.uk/teamgoals/detailed"
path = r"H:/PROGRAMMING/Learning and Proyects/chromedriver_win32/chromedriver"
driver = webdriver.Chrome(executable_path= f"{path}")
wait = WebDriverWait(driver, 20)
driver.get(website)
wait.until(EC.visibility_of_element_located((By.XPATH, '//label[@analytics-event="All matches"]'))).click()
wait.until(EC.visibility_of_element_located((By.ID, 'country')))
dropdown = Select(driver.find_element_by_id("country"))
dropdown.select_by_visible_text("Spain")
wait.until(EC.visibility_of_element_located((By.XPATH, '//tr')))
time.sleep(0.5)
matches = driver.find_elements_by_tag_name("tr")
for match in matches:
print(match.text)