python调用selenium的get_Python – selenium webdriver在循环中停留在.get()
我有一個(gè)Python代碼片段,它使用Selenium Webdriver來(lái)循環(huán)一些歷史性的棒球賠率.代碼的第一部分旨在從調(diào)度表(包含大約57個(gè)需要循環(huán)的頁(yè)面)中獲取所有單獨(dú)的游戲URL,并將它們存儲(chǔ)在列表中.
我第一次測(cè)試它它工作得很好 – 現(xiàn)在,無(wú)論出于何種原因,driver.get()函數(shù)似乎無(wú)法正常工作.會(huì)發(fā)生什么事情是webdriver在pageRange循環(huán)(第2頁(yè))中啟動(dòng)第一個(gè).get()方法,但之后,在循環(huán)的下一次迭代中它會(huì)卡住并且不會(huì)導(dǎo)航到第3頁(yè).沒(méi)有錯(cuò)誤消息或崩潰.
使用print()進(jìn)行一些手動(dòng)錯(cuò)誤檢查表明代碼的所有其他區(qū)域都正常.可能是這個(gè)問(wèn)題的潛在原因是什么?
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)
總結(jié)
以上是生活随笔為你收集整理的python调用selenium的get_Python – selenium webdriver在循环中停留在.get()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: crossin的编程教室python入门
- 下一篇: mysql通用日志不打印_解决logba