python调用selenium的get_Python – selenium webdriver在循环中停留在.get()

我有一个Python代码片段,它使用Selenium Webdriver来循环一些历史性的棒球赔率.代码的第一部分旨在从调度表(包含大约57个需要循环的页面)中获取所有单独的游戏URL,并将它们存储在列表中.

我第一次测试它它工作得很好 – 现在,无论出于何种原因,driver.get()函数似乎无法正常工作.会发生什么事情是webdriver在pageRange循环(第2页)中启动第一个.get()方法,但之后,在循环的下一次迭代中它会卡住并且不会导航到第3页.没有错误消息或崩溃.

使用print()进行一些手动错误检查表明代码的所有其他区域都正常.可能是这个问题的潜在原因是什么?

season = str(2017)

URL = "http://www.oddsportal.com/baseball/usa/mlb-" + season + "/results/#/"

chrome_path = r"C:\Users\dansl110\Dropbox\Betting Project/chromedriver.exe"

OddsList = pd.DataFrame(columns=["Date", "HomeTeam", "AwayTeam", "HomeOdds",

"AwayOdds", "Accuracy"])

GameURLs = []

StartURL = 2

#Gets GameURLs and EndPage from Page 1

driver = webdriver.Chrome(chrome_path)

driver.get(URL)

elems = driver.find_elements_by_xpath("//a[@href]")

for elem in elems:

link = elem.get_attribute("href")

if "/results/#/page/" in link:

EndURL = int(''.join(c for c in link if c in digits))

elif "/mlb" in link and len(str(link)) > 58 and "results" not in link:

GameURLs.append(link)

PageRange = range(StartURL, EndURL - 5)

#Gets remaining GameURLs

for page in PageRange:

oldURL = URL

URL = "http://www.oddsportal.com/baseball/usa/mlb-" + season +

"/results/#/page/" + str(page) + "/"

#This .get() works only during the first iteration of the range loop

driver.get(URL)

time.sleep(3)

elems = driver.find_elements_by_xpath("//a[@href]")

for elem in elems:

link = elem.get_attribute("href")

if "/nhl" in link and len(str(link)) > 65 and "results" not in link:

GameURLs.append(link)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值