업데이트 된 페이지 콘텐츠를 다른 기능으로 어떻게 전달합니까?

무법자

다음과 같은 selenium-webdriver에 대한 코드가 있습니다.

 base_url = 'http://wsprnet.org/drupal/wsprnet/spotquery'
 driver = webdriver.Chrome()
 driver.get(base_url)

그리고 로그인과 비밀번호를 입력하면 다음 코드 다음에 페이지가 업데이트됩니다.

btn_elem_upd = driver.find_element_by_id('edit-submit').click()

다음으로 업데이트 된 페이지를 다음과 같이 다른 기능으로 전송해야합니다.

url = "Here need transfer the new updated page"
res = requests.get(url)
doc = lxml.html.fromstring(res.text)

어떻게 할 수 있습니까? 옵션은 무엇입니까? 업데이트하면 이렇게 작성하면 코드가 작동합니다.

new_source = 'http://wsprnet.org/drupal/wsprnet/spots'
res = requests.get(new_source)

doc = lxml.html.fromstring(res.text)

cols = []

cols.append(doc.xpath('//table/tr[1]/node()/text()')[0])
for item in doc.xpath('//table/tr/th'):
    typ = str(type(item.getnext()))
    if not 'NoneType' in typ:
        cols.append(item.getnext().text)

inf = []
for item in doc.xpath('//table//tr//td'):
    inf.append(item.text.replace('\\xa02', '').strip()) 

rows = [inf[x:x+len(cols)] for x in range(0, len(inf), len(cols))]

with open("output.csv", "w", newline='') as f:
    writer = csv.writer(f)
    writer.writerow(cols)
    for l in rows:
        writer.writerow(l)

다시 작성하면 :

doc = lxml.html.fromstring(driver.page_source)
cols = []
cols.append(doc.xpath('//table/tr[1]/node()/text()')[0])

코드가 오류와 함께 작동하지 않습니다.

cols.append(doc.xpath('//table/tr[1]/node()/text()')[0])
IndexError: list index out of range
KunduK

토론을 기반으로 pandas 라이브러리를 사용 하여 테이블 정보를 읽고 csv 파일 로로드 할 수 있습니다 .

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium import webdriver
import pandas as pd

driver = webdriver.Chrome()
driver.get("http://wsprnet.org/drupal/wsprnet/spotquery")
login = driver.find_element_by_id('edit-name')
password = driver.find_element_by_id('edit-pass')
btn_elem_log = driver.find_element_by_id('edit-submit--2')
login.send_keys('username')
password.send_keys('password')
btn_elem_log.click()
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.ID,"edit-call"))).send_keys("searchval")
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.ID,"edit-excludespecial"))).click()
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.ID,"edit-submit"))).click()
WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.TAG_NAME,"table")))
page=driver.page_source
df=pd.read_html(page)
df[0].to_csv("csvfile.csv",index=False)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ajax를 사용하여 원격로드 된 콘텐츠에서 다른 PHP 페이지로 데이터 전달

분류에서Dev

터미널에서 JavaScript 생성 콘텐츠가 포함 된 HTML 웹 페이지를 다운로드하려면 어떻게해야합니까?

분류에서Dev

<div> 높이를 100 %로 설정하면 페이지의 다른 콘텐츠는 기술적으로 어떻게됩니까?

분류에서Dev

스콜 링 콘텐츠로 고정 된 배경 이미지를 얻으려면 어떻게해야합니까?

분류에서Dev

URL의 게시물 ID를 다른 페이지로 어떻게 전달합니까?

분류에서Dev

JQuery를 사용하여 외부 HTML 페이지의 콘텐츠로 여러 div를 채우고 각 div의 속성을 기반으로 해당 콘텐츠를 업데이트하려면 어떻게해야합니까?

분류에서Dev

업데이트 된 defaultValue로 DatePicker를 어떻게 다시 렌더링합니까?

분류에서Dev

내 웹 사이트의 페이지를 사용하여 다른 페이지 콘텐츠를 표시하려면 어떻게합니까?

분류에서Dev

콘텐츠의 회전 된 크기에 맞는 컨테이너 (예 : 그리드)를 어떻게 얻습니까?

분류에서Dev

스레드에 전달 된 변수를 어떻게 업데이트합니까?

분류에서Dev

생성기로 페이지 콘텐츠를 스크랩하려면 어떻게합니까?

분류에서Dev

Android 앱의 콘텐츠 데이터베이스를 정기적으로 업데이트하려면 어떻게해야합니까?

분류에서Dev

동일한 페이지에 여러 MDB 모달을 만들고 각 모달 팝업에 다른 콘텐츠를 어떻게 만들 수 있습니까?

분류에서Dev

Angular JS를 사용하여 생성 된 웹 페이지 콘텐츠를 어떻게 볼 수 있습니까?

분류에서Dev

Django에서 콘텐츠를 어떻게 업데이트 / 삭제합니까?

분류에서Dev

장고 페이지에서 사이드 바로 콘텐츠를 어떻게 전달하나요?

분류에서Dev

Curl-PHP는 ajax로 업데이트 된 요소 콘텐츠를 가져옵니다.

분류에서Dev

이벤트를 기반으로이 탭 콘텐츠를 표시하려면 어떻게해야합니까?

분류에서Dev

콘텐츠를 이전 응답으로 대체하지 않도록하려면 어떻게해야합니까?

분류에서Dev

이 올바른 콘텐츠를 어떻게 반응 형으로 만들 수 있습니까?

분류에서Dev

다른 HTML 페이지에서 HTML 페이지를 어떻게 기반으로합니까?

분류에서Dev

세로로 정렬 된 CSS 콘텐츠 이미지로 공유 가능한 헤더를 만들려면 어떻게해야합니까?

분류에서Dev

세로로 정렬 된 CSS 콘텐츠 이미지로 공유 가능한 헤더를 만들려면 어떻게해야합니까?

분류에서Dev

jQuery를 사용하여 jsp 페이지에서 모달 창으로 콘텐츠를로드하려면 어떻게해야합니까?

분류에서Dev

Chrome 확장 : 내 콘텐츠 스크립트에 정의 된 기능에 액세스 할 수있는 웹 페이지를 얻으려면 어떻게해야합니까?

분류에서Dev

이미지와 링크가있는 다른 Word 문서의 콘텐츠를 어떻게 복사합니까?

분류에서Dev

Python 3으로 기사 사이트의 텍스트 콘텐츠를 어떻게 추출합니까?

분류에서Dev

콘텐츠를 다른 <router-view>에로드 할 때 vue-router가 하나의 <router-view>에로드 된 콘텐츠를 바꾸지 못하게하려면 어떻게해야합니까?

분류에서Dev

배포 된 Netlify 페이지는 실제 콘텐츠를 표시하기 전에 404 페이지를 표시합니다.

Related 관련 기사

  1. 1

    ajax를 사용하여 원격로드 된 콘텐츠에서 다른 PHP 페이지로 데이터 전달

  2. 2

    터미널에서 JavaScript 생성 콘텐츠가 포함 된 HTML 웹 페이지를 다운로드하려면 어떻게해야합니까?

  3. 3

    <div> 높이를 100 %로 설정하면 페이지의 다른 콘텐츠는 기술적으로 어떻게됩니까?

  4. 4

    스콜 링 콘텐츠로 고정 된 배경 이미지를 얻으려면 어떻게해야합니까?

  5. 5

    URL의 게시물 ID를 다른 페이지로 어떻게 전달합니까?

  6. 6

    JQuery를 사용하여 외부 HTML 페이지의 콘텐츠로 여러 div를 채우고 각 div의 속성을 기반으로 해당 콘텐츠를 업데이트하려면 어떻게해야합니까?

  7. 7

    업데이트 된 defaultValue로 DatePicker를 어떻게 다시 렌더링합니까?

  8. 8

    내 웹 사이트의 페이지를 사용하여 다른 페이지 콘텐츠를 표시하려면 어떻게합니까?

  9. 9

    콘텐츠의 회전 된 크기에 맞는 컨테이너 (예 : 그리드)를 어떻게 얻습니까?

  10. 10

    스레드에 전달 된 변수를 어떻게 업데이트합니까?

  11. 11

    생성기로 페이지 콘텐츠를 스크랩하려면 어떻게합니까?

  12. 12

    Android 앱의 콘텐츠 데이터베이스를 정기적으로 업데이트하려면 어떻게해야합니까?

  13. 13

    동일한 페이지에 여러 MDB 모달을 만들고 각 모달 팝업에 다른 콘텐츠를 어떻게 만들 수 있습니까?

  14. 14

    Angular JS를 사용하여 생성 된 웹 페이지 콘텐츠를 어떻게 볼 수 있습니까?

  15. 15

    Django에서 콘텐츠를 어떻게 업데이트 / 삭제합니까?

  16. 16

    장고 페이지에서 사이드 바로 콘텐츠를 어떻게 전달하나요?

  17. 17

    Curl-PHP는 ajax로 업데이트 된 요소 콘텐츠를 가져옵니다.

  18. 18

    이벤트를 기반으로이 탭 콘텐츠를 표시하려면 어떻게해야합니까?

  19. 19

    콘텐츠를 이전 응답으로 대체하지 않도록하려면 어떻게해야합니까?

  20. 20

    이 올바른 콘텐츠를 어떻게 반응 형으로 만들 수 있습니까?

  21. 21

    다른 HTML 페이지에서 HTML 페이지를 어떻게 기반으로합니까?

  22. 22

    세로로 정렬 된 CSS 콘텐츠 이미지로 공유 가능한 헤더를 만들려면 어떻게해야합니까?

  23. 23

    세로로 정렬 된 CSS 콘텐츠 이미지로 공유 가능한 헤더를 만들려면 어떻게해야합니까?

  24. 24

    jQuery를 사용하여 jsp 페이지에서 모달 창으로 콘텐츠를로드하려면 어떻게해야합니까?

  25. 25

    Chrome 확장 : 내 콘텐츠 스크립트에 정의 된 기능에 액세스 할 수있는 웹 페이지를 얻으려면 어떻게해야합니까?

  26. 26

    이미지와 링크가있는 다른 Word 문서의 콘텐츠를 어떻게 복사합니까?

  27. 27

    Python 3으로 기사 사이트의 텍스트 콘텐츠를 어떻게 추출합니까?

  28. 28

    콘텐츠를 다른 <router-view>에로드 할 때 vue-router가 하나의 <router-view>에로드 된 콘텐츠를 바꾸지 못하게하려면 어떻게해야합니까?

  29. 29

    배포 된 Netlify 페이지는 실제 콘텐츠를 표시하기 전에 404 페이지를 표시합니다.

뜨겁다태그

보관