- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我开始学习使用 Python 和 Selenium 抓取网站。我选择 selenium 是因为我需要浏览网站并且还必须登录。
我编写了一个能够打开 Firefox 窗口的脚本,它会打开网站 www.flashscore.com。通过此脚本,我还可以登录并导航到他们拥有的不同运动部分(主菜单)。
代码:
<小时/>from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# open website
driver = webdriver.Firefox()
driver.get("http://www.flashscore.com")
# login
driver.find_element_by_id('signIn').click()
username = driver.find_element_by_id("email")
password = driver.find_element_by_id("passwd")
username.send_keys("*****")
password.send_keys("*****")
driver.find_element_by_name("login").click()
# go to the tennis section
link = driver.find_element_by_link_text('Tennis')
link.click()
#go to the live games tab in the tennis section
# ?????????????????????????????'
<小时/>
然后事情就变得更加困难了。例如,我还想导航到体育板 block 中的“现场比赛”和“已完成”选项卡部分。这部分是行不通的。我尝试了很多方法,但无法进入其中一个选项卡。在分析该网站时,我发现他们使用了一些 Iframe。我还找到了一些切换到 Iframes 窗口的代码。但问题是,我找不到我想要单击的选项卡所在的 Iframe 的名称。也许 Iframe 不是问题,我是否找错了方向。 (也许问题是由某些javascript引起的?)
有人可以帮我解决这个问题吗?
最佳答案
不,在这种情况下,iframe 不是问题。 “Live games”元素不在 iframe
内。通过链接文本找到它并单击:
live_games_link = driver.find_element_by_link_text("LIVE Games")
live_games_link.click()
您可能需要等待此链接可点击,然后才能实际尝试单击它:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
wait = WebDriverWait(driver, 10)
live_games_link = wait.until(EC.element_to_be_clickable((By.LINK_TEXT, "LIVE Games")))
live_games_link.click()
关于python - 使用 Python/Selenium 进行 Webscrape Flashscore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37736938/
我开始学习使用 Python 和 Selenium 抓取网站。我选择 selenium 是因为我需要浏览网站并且还必须登录。 我编写了一个能够打开 Firefox 窗口的脚本,它会打开网站 www.f
网络抓取 Python ' 我是新手。我想抓取英超联赛 2018-19 赛季的结果(赛程、结果、日期),但我正在努力浏览网站。我得到的只是空列表/[无]。如果您有可以分享的解决方案,那将是一个很大的帮
我是一名优秀的程序员,十分优秀!