0
我已经用python和selenium一起编写了一个脚本来解析网页中的不同曲目名称。我的脚本工作得很好。我在打印语句中使用了try n来获得所需的结果。是否有任何一个班轮印刷声明可以避免尝试表达?最后,我在脚本中使用了相同的选择器两次 - 一次用于查找位置,另一次用于选择相同的选择。是否有可能摆脱这种冗余?摆脱python + selenium脚本的冗长
下面是脚本:
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
driver = webdriver.Chrome()
driver.get("https://www.shazam.com/charts/top-100/united-states")
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "div.grid-vert-center"))) # This selector and the following one are identical so I wished to shake off the verbosity by using once
for item in driver.find_elements_by_css_selector("div.grid-vert-center"):
try:
track = item.find_element_by_css_selector('div.title a.ellip').text
except Exception:
track = ""
print(track)
driver.quit()
谢谢先生安德森,您的回答。我主要关心的是,在我上面所做的脚本中,不要多次使用相同的东西。你的解决方案就是我所追求的。再次感谢。 – SIM