<p><strong>1</strong>我设法从我所在地区获得了数据,但我不得不花一些时间从国家名单中选择西班牙。
请注意,我避免使用xpath定位器,因为它们太长了。
所有的解释都在代码的注释中</p>
<p><strong>2</strong>从元素中获取文本。通常使用文本,但在这种情况下不起作用。所以<code>get_attribute("innerHTML")</code>才是你真正需要的</p>
<p>我留下了我用过的所有等待。您可以自己调试并删除不必要的</p>
<p><strong>解决方案:</strong></p>
<pre><code>from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome(executable_path='/snap/bin/chromium.chromedriver')
driver.get('https://www.eneba.com/es/lego-dimensions-starter-pack-playstation-4')
wait = WebDriverWait(driver, 15)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "._1FArM6>.qGNWom.qGNWom"))).click() # accept cookies
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".EcNujK._2afX4x._1OhNBA"))).click() # click region button
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#region .css-1hwfws3"))).click() # change region
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#region .react-select__input>input")))
driver.find_element_by_css_selector("#region .react-select__input>input").send_keys("spa") # input country name
driver.find_element_by_css_selector("#react-select-2-option-5").click() # select found country
driver.find_element_by_css_selector("._3Fpvn5>button[type='submit']").click() # submit country
wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "div[itemprop=description]>ul>li"))) # wait for all li elements
cards = driver.find_elements_by_css_selector("div[itemprop=description]>ul>li")
for card in cards:
print(card.get_attribute("innerHTML"))
driver.close()
driver.quit()
</code></pre>
<p><strong>结果:</strong></p>
<pre><code>• Rompecabezas - resolver varios acertijos es una de las mecánicas centrales del juego;
• Para todos los públicos – El juego es apropiado para jugadores de todas las edades;
• Arcade - los jugadores deben terminar con éxito los niveles que aumentan en dificultad a medida que avanzan en el juego;
• Acción - este título incluye desafíos que deben superarse utilizando habilidades como precisión, tiempo de respuesta rápido, etc.;
• Superhéroes - Los jugadores entran en un mundo peligroso, donde los únicos capaces de detener el crimen son los héroes bendecidos con poderes únicos;
• Un jugador - el juego presenta una campaña en solitario con una historia;
• Multijugador local - esta función permite que varias personas participen en los mismos partidos, ya sea a través de la pantalla dividida o la misma conexión de red.
</code></pre>