我正在嘗試獲得所有的行,但?每次都會出現錯誤。
我正在嘗試獲得所有的行。
from selenium import webdriver
import time
url = "https://lobby.ogame.gameforge.com/"。
driver_path = "chromedriver.exe"/span>
browser = webdriver.Chrome(driver_path)
browser.get(url)
time.sleep(30)
list = [] 。
new_text=browser.find_elements_by_xpath(("//*[@id='rank']/tbody")
for text in new_text:
list.append(text.text)
print(list)
我正在使用time.sleep,因為在那里有一個captha ?正在手動登錄并打開Highscore頁面。但我不知道為什么我的代碼不能作業。
//[@id="行列"]這是表格的xpath - //[@id="行列"]/tbody
謝謝你!
uj5u.com熱心網友回復:
這就是解決方案:
這就是解決方案。
# Imports。
from selenium import webdriver
from bs4 import BeautifulSoup # using beautifulsoup to parse the ranking[/span
import time
email = '' # 在這里設定你的賬戶電子郵件。
password = '' # 在此設定您的賬戶密碼。
url = "https://lobby.ogame.gameforge.com/"/span>
driver_path = "chromedriver.exe"/span>
driver = webdriver.Chrome(driver_path)
driver.get(url)
# 不需要這樣做。你可以使用Selenium的隱式等待。
time.sleep(30)
# click on login tab
driver.find_element_by_xpath("//span[text()='Log in']"/span>).click()
# 定位電子郵件欄位并設定電子郵件。
driver.find_element_by_xpath("//input[@type='email']").send_keys(email)
#定位密碼欄位并設定密碼。
driver.find_element_by_xpath("//input[@type='password']").send_keys(password)
# 定位并點擊登錄按鈕。
driver.find_element_by_xpath("//p/button//span[text()='Log in']").click()
# 定位并點擊播放按鈕。
driver.find_element_by_xpath("//div[@id='joinGame']/a/button//span[text()='Play']").click()
# 定位并啟動串列中的第一個服務器。
driver.find_element_by_xpath("//div[@class='rt-td action-cell']//button//span[text()='Start']").點擊()
# 在這個階段,新的視窗將會打開。轉移到新打開的標簽。
driver.switch_to.window(driver.window_handles[1] )
# 定位并點擊 "Highscore標簽"。
driver.find_element_by_xpath("/a[text()='Highscore']") .click()
# 在這個階段會出現一個包含等級的表格。
# get ranks table 排名表。
ranks = driver.find_element_by_xpath("//table[@id='行列']/tbody")
# 用beautifulsoup決議 ranks。
soup = BeautifulSoup(rank.text)
span = 2
ranking = soup.find('p').text.split("
")
parsed_ranking = [" ". join(ranking[i:i span]) for i in range(0, len(ranking), span)]
final_ranking = list()
for r in parsed_ranking:
splitted_r = " ".join(r.split() )
splitted_r = splitted_r.split(' ')
排名 = {
'position': splitted_r[0] 。
'player_name': f"{splitted_r[2] if not分裂_r[2] 。 startswith(' ') else ' '} {splitted_r[3] if not splitted_r[3] 。 __contains__('(') else ''}". strip(),
'point': splitted_r[-1]
}
final_ranking.append(rank)
在這個階段,你將在串列中擁有像這樣的排名:
。[{'position': '501'/span>, 'player_name': 'Geologist Uranus', 'point': '27.847'}。
{'position': '502'/span>, 'player_name'/span>: 'Technocrat Auriga', 'point': '27.192'}。
{'position': '503', 'player_name': 'President Phoenix', 'point': '27.032'}。
{'position': '504', 'player_name': '[AMA] Commander', 'point': '26.865'}。
{'position': '505'/span>, 'player_name'/span>: 'Kampfdackel157', 'point': '26.397'},
{'position': '506', 'player_name': 'Vice Uriel', 'point': '25.482'}。
{'position': '507', 'player_name': 'Satansmight', 'point': '24.502'},
{'position': '508'/span>, 'player_name'/span>: 'Geologist...', 'point': '22.929'}。
{'position': '509'/span>, 'player_name'/span>: 'Emperor Cupid', 'point': '22.919'},
{'position': '510', 'player_name': 'Lieutenan...', 'point': '21.278'}。
{'position': '511'/span>, 'player_name'/span>: 'Engineer Orb', 'point': '20.998'}。
{'position': '512'/span>, 'player_name'/span>: 'PrinceOfSaiyans', 'point': '20.064'},
{'position': '513'/span>, 'player_name'/span>: 'IAmGebber', 'point': '19.746'},
{'position': '514', 'player_name': 'Viceregent Pallas', 'point': '18.965'}。
{'position': '515', 'player_name': '[OR1] Fiari', 'point': '18.873'}。
{'position': '516', 'player_name': 'Mogul Spacewalk', 'point': '18.151'}。
{'position': '517'/span>, 'player_name'/span>: 'Czar Kale', 'point': '17.089'}。
{'position': '518', 'player_name': '[KniEng] Engineer', 'point': '16.633'}。
{'position': '519'/span>, 'player_name'/span>: 'Hkmikej', 'point': '16.245'}。
{'position': '520', 'player_name': ' Governor Titan', 'point': '15.960'}。
{'position': '521', 'player_name': 'Technocrat Helio', 'point': '15.528'}。
{'position': '522'/span>, 'player_name'/span>: 'Admiral Pathfinder', 'point': '15.248'}。
{'position': '523'/span>, 'player_name'/span>: '[UFP] General', 'point': '14.902'},
{'position': '524', 'player_name': 'Thomyb', 'point': '14.528'},
{'position': '525', 'player_name': 'Crom Gruach', 'point': '13.705'}。
{'position': '526'/span>, 'player_name'/span>: 'Bhaal', 'point': '12.933'}。
{'position': '527', 'player_name': 'Captain Davida', 'point': '12.407'}。
{'position': '528'/span>, 'player_name'/span>: '[smerf] Senator', 'point': '12.063'}。
{'position': '529', 'player_name': '[AMA] Mogul', 'point': '11.485'}。
{'position': '530', 'player_name': 'Procurator Polaris', 'point': '10.985'}。
{'position': '531', 'player_name': 'Geologist Nekkar', 'point': '10.807'}。
{'position': '532', 'player_name': 'Viceregent Lambda', 'point': '10.735'}。
{'position': '533'/span>, 'player_name'/span>: 'Commander Kuma', 'point': '10.523'},
{'position': '534'/span>, 'player_name'/span>: 'Director Sol', 'point': '9.922'}。
{'position': '535', 'player_name': 'Sizan', 'point': '9.865'}。
{'position': '536', 'player_name': 'KyKy_EnTa', 'point': '9.567'}。
{'position': '537', 'player_name': '[SEX] LLamaFlorian', 'point': '9.239'}。
{'position': '538', 'player_name': 'Darkdragon', 'point': '8.475'}。
{'position': '539', 'player_name': 'nimrat', 'point': '8.391'}。
{'position': '540', 'player_name': '[YorkCore] Neo', 'point': '7.033'}。
{'position': '541', 'player_name': 'Katniss95', 'point': '7.002'}。
{'position': '542', 'player_name': 'Lieutenant Dorado', 'point': '6.330'}。
{'position': '543', 'player_name': 'Captain Asteroid', 'point': '6.179'}。
{'position': '544', 'player_name': 'Procurator Matter', 'point': '6.044'}。
{'position': '545', 'player_name': 'Black Dog', 'point': '5.960'},
{'position': '546', 'player_name': 'Renegade Sattelite', 'point': '5.833'},
{'position': '547', 'player_name': 'Bandit Zagadra', 'point': '5.320'},
{'position': '548', 'player_name': 'Celestial Fury', 'point': '5.187'},
{'position': '549', 'player_name': 'President Epsilon', 'point': '4.987'}。
{'position': '550', 'player_name': 'Marshal Artemis', 'point': '4.871'}。
{'position': '551', 'player_name': 'Engineer Fay', 'point': '4.373'}。
{'position': '552', 'player_name': 'Utnapishtim', 'point': '4.341'}。
{'position': '553', 'player_name': 'Stadtholder Rigel', 'point': '3.845'}。
{'position': '554', 'player_name': 'Newton', 'point': '3.818'}。
{'position': '555', 'player_name': 'Engineer Zenith', 'point': '3.797'}。
{'position': '556', 'player_name': 'MrGame', 'point': '3.703'}。
{'position': '557', 'player_name': ' Governor Cupid', 'point': '3.567'}。
{'position': '558', 'player_name': 'Proconsul Cosmo', 'point': '3.528'}。
{'position': '559', 'player_name': 'Bravo_03', 'point': '3.459'}。
{'position': '560', 'player_name': 'Makhundsmester', 'point': '3.457'}。
{'position': '561', 'player_name': 'Vice Eagle', 'point': '3.430'},
{'position': '562', 'player_name': 'Constable Pegasus', 'point': '3.420'}。
{'position': '563', 'player_name': 'Bandit Eridanus', 'point': '3.361'},
{'position': '564', 'player_name': 'Admiral Eridanus', 'point': '3.316'},
{'position': '565', 'player_name': 'Marshal Ranger', 'point': '3.101'}。
{'position': '566', 'player_name': 'Oztk', 'point': '2.902'},
{'position': '567', 'player_name': 'Director Stardust', 'point': '2.796'},
{'position': '568', 'player_name': 'Stadtholder Ceti', 'point': '2.765'}。
{'position': '569', 'player_name': '[MME] Sovereign', 'point': '2.515'}。
{'position': '570', 'player_name': 'NO3KAH', 'point': '2.463'}。
{'position': '571', 'player_name': 'Lord Spica', 'point': '2.406'}。
{'position': '572', 'player_name': '[F K', 'point': '2.241'}。
{'position': '573', 'player_name': 'Siegmeyer', 'point': '2.238'},
{'position': '574', 'player_name': 'Constable Phobos', 'point': '1.942'},
{'position': '575', 'player_name': 'Amadra', 'point': '1.844'] 。
{'position': '576', 'player_name': 'BLURAIDER', 'point': '1.778'}。
{'position': '577', 'player_name': 'Senator Ganimed', 'point': '1.563'}。
{'position': '578', 'player_name': '[ACT] KotPali', 'point': '1.460'},
{'position': '579', 'player_name': 'Joker', 'point': '1.295'}。
{'position': '580', 'player_name': 'Emperor Zenith', 'point': '1.278'}。
{'position': '581', 'player_name': 'eMic127', 'point': '1.277'},
{'position': '582', 'player_name': 'Silver', 'point': '1.234'}。
{'position': '583', 'player_name': 'Tarahen', 'point': '1.131'},
{'position': '584', 'player_name': 'Chief Probe', 'point': '1.069'}。
{'position': '585', 'player_name': 'Czar Meridian', 'point': '1.051'},
{'position': '586', 'player_name': 'Senator Twighlight', 'point': '998'},
{'position': '587', 'player_name': 'Savage Spartan', 'point': '952'}。
{'position': '588', 'player_name': 'Vice Omega', 'point': '897'}。
{'position': '589', 'player_name': 'Lilith752', 'point': '893'}。
{'position': '590', 'player_name': 'Emperor Corvus', 'point': '855'}。
{'position': '591', 'player_name': 'Commodore Stingray', 'point': '822'}。
{'position': '592', 'player_name': '[Doge] ToTheMoon', 'point': '755'}。
{'position': '593', 'player_name': 'Marshal Beid', 'point': '524'}。
{'position': '594', 'player_name': 'Senator Cassini', 'point': '434'}。
{'position': '595', 'player_name': 'Governor Celestial', 'point': '246'}。
{'position': '596', 'player_name': 'Chief Amos', 'point': '240'}。
{'position': '597', 'player_name': 'moldy', 'point': '227'}。
{'position': '598', 'player_name': 'Lieutenant Gamma', 'point': '222'}。
{'position': '599', 'player_name': 'Commodore Genesis', 'point': '183'}。
{'position': '600', 'player_name': 'Consul Ultraviolet', 'point': '175'}]
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
我已經用火狐瀏覽器的驅動程式測驗了這個腳本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/327082.html
標籤:
