【问题标题】:How to extract data with selenium from a website?如何从网站中提取硒数据?
【发布时间】:2020-03-27 05:05:12
【问题描述】:

我正在尝试使用 selenium 和 python 从网站中提取一些数据。 这是我到目前为止使用的一些代码:

url = 'https://www.kicker.de/1894559/spieldaten/bayern-muenchen-14/borussia-mgladbach-15'
chrome = webdriver.Chrome()
select = Select(chrome.find_element_by_id('selOptaPlayer1'))
select.select_by_value('57598')

可以打开网址,在网站上选择播放器。但我无法从播放器中提取一些数据。我收到 selenium 找不到 xpath 的错误。 在谷歌的帮助下,问题可能出在 iframe 上。现在我的问题是,如何找出数据位于哪个 iframe 中?

【问题讨论】:

  • 你可以在iframe之间切换,看看this,然后你可以重试你的find_by,直到你找到你需要的
  • 请提供minimal reproducible example,以及完整的错误信息。

标签: python html selenium


【解决方案1】:

请在下面找到使用option[text()='Alaba, David']选择57598值选项的解决方案

解决方案 1:

from selenium import webdriver
driver = webdriver.Chrome(executable_path=r"C:\New folder\chromedriver.exe")
driver.get('https://www.kicker.de/1894559/spieldaten/bayern-muenchen-14/borussia-mgladbach-1')
driver.find_element_by_xpath("//select[@id='selOptaPlayer1']/option[text()='Alaba, David']").click()

解决方案 2:

您也可以使用以下代码:

from selenium import webdriver
from selenium.webdriver.support.ui import Select


driver = webdriver.Chrome(executable_path=r"C:\New folder\chromedriver.exe")
driver.get('https://www.kicker.de/1894559/spieldaten/bayern-muenchen-14/borussia-mgladbach-1')
select.select_by_value('57598')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 2017-10-16
    • 2015-08-26
    • 1970-01-01
    • 2022-01-15
    • 2011-01-03
    相关资源
    最近更新 更多