如何从多个URL中刮除所有TR元素和所有TD元素?可能需要硒

时间:2018-09-26 18:01:47

标签: python python-3.x selenium

我在循环方面遇到麻烦(似乎一直都是0),甚至从第0页上都没有得到TR和TD元素,所以我的脚本肯定有问题。

from bs4 import BeautifulSoup
import requests
import pandas as pd
import csv

cnt = 0
# count from 0 to 3
while (cnt < 4):
    url = "https://www.anyurl/admin/?page=" + str(cnt)
    print(cnt)
    page = requests.get(url)
    pagetext = page.text
    # print(pagetext)

    soup = BeautifulSoup(pagetext, 'html.parser')
    #print(soup)

    file = open("C:/Users/ryans/OneDrive/Desktop/test.csv", 'w')

    for row in soup.find_all('tr'):
        for col in row.find_all('td'):
            info1 = row.text
            info2 = col.text
            file.write(info1)
            file.write(info2)

    print(cnt)        
    cnt = cnt + 1

    file.close()

我认为上面的代码非常接近,但是这里肯定有一些问题。

我可能需要这样的Selenium解决方案...

import requests
import selenium
from selenium import webdriver
from bs4 import BeautifulSoup
from webbot import Browser
from selenium.webdriver.common.keys import Keys
import time

web = Browser()
cnt = 0
# count from 0 to 3
while (cnt < 4):
    url = "https://www.anyurl/admin/?page=" + str(cnt)
    web.go_to(url)
    time.sleep(2)

    # 1st validation
    web.type('my.email@gmail.com', into='username')
    web.click('Next')
    # Wait for 2 seconds
    time.sleep(2)

    # password
    web.type('my_password', into='Password')
    web.click('Next')
    time.sleep(2)



    Somehow...I need to iterate through TR elements and TD elements here....

    cnt = cnt + 1

我确定知道的是,有一个表名为table id="dags"

TR和TD片段也这样交替变化:

enter image description here

TR类交替为“奇数”和“偶数”。

基本上,我尝试从0到3进行计数,刮除所有TR元素和所有TE元素,并将所有内容写入CSV文件。这是公司防火墙后面的内部URL,所以我不能在此处共享实际的URL。

我使用的是Python 3.6。

1 个答案:

答案 0 :(得分:0)

请检查以下页面:

入门 (标准的东西开始你的脚本) https://selenium-python.readthedocs.io/getting-started.html

启动驱动程序后,可以通过以下方法找到内容: https://selenium-python.readthedocs.io/navigating.html

就您而言,您可能需要以下类似内容;遍历列表并将内容写入文件。

  

td_list = driver.find_elements_by_tag_name('td')