开发者社区> 问答> 正文

在selenium python中迭代并输出动态表

我正在尝试为一个赛马软件站点编写一个使用selenium的python脚本。 该网站显示了一个表格,其中的马的名字和赔率将出现时,他们成为一个“arb”。 当马是arb时,它会出现在桌子上,当它不再是arb时,它会消失。 脚本需要列出一天中出现的所有马的名字和概率。 到目前为止,我已经设法让它写出我第一次运行脚本时选择的'name'和'odds'值。 但是,我不确定如何将其编码为随时间迭代、更新和添加到列表。 任何帮助/建议将不胜感激。

from selenium import webdriver
import time

#Start Driver
driver = webdriver.Chrome("/Users/username/PycharmProjects/SoftwareBot/drivers/chromedriver")
driver.get("https://software.com/members/user/software2")

#Get Title
title = driver.title
print(title)

#Login To Page
driver.find_element_by_name("email").send_keys("johndoe@hotmail.com")
driver.find_element_by_name("password").send_keys("Pass123")
driver.find_element_by_xpath('//button[text()="Continue"]').click()

#Sleep
time.sleep(1.5)

#Find Num Of Rows
rows = len(driver.find_elements_by_xpath('//*[@id="data_body"]/tr'))
print(rows)

#Find Num Of Columns
cols = len(driver.find_elements_by_xpath('//*[@id="data_body"]/tr[1]/td'))
print(cols)

#Open Text File
f= open("horses.txt","w+")

#Write out needed table values
for r in range(1, rows + 1):
        for c in range(3, 7, 3):
            value = driver.find_element_by_xpath('//*[@id="data_body"]/tr[' + str(r) + ']/td[' + str(c) + ']').text
            print(value)
            f.write(value)
            f.write("\n")

time.sleep(1.5)

问题来源StackOverflow 地址:/questions/59379037/iterate-and-output-dynamic-table-in-selenium-python

展开
收起
kun坤 2019-12-30 09:58:36 471 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    厉害

    2020-01-12 00:11:50
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载