Невозможно увидеть всю страницу Источник веб-сайта с использованием Selenium, Python - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь почистить этот веб-сайт https://script.google.com/a/macros/cprindia.org/s/AKfycbzgfCVNciFRpcpo8P7joP1wTeymj9haAQnNEkNJJ2fQ4FBXEco/exec

Я использую селен и python. Я не могу просмотреть весь исходный код страницы, в основном я должен почистить внутри таблицы и нажмите на кнопку «Далее», но код «Далее» и таблица не отображаются на источнике страницы. Вот мой код

from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from bs4 import BeautifulSoup


from selenium import webdriver

browser = webdriver.PhantomJS()
browser.get(link)


pass1 = browser.find_element_by_xpath("/html/body/div[2]/table[2]/tbody/tr[1]/td/div/div/div[2]/div[2]")
pass1.click()

time.sleep(30)

Я получаю эту ошибку, NoSuchElementException.

1 Ответ

0 голосов
/ 18 марта 2020

На странице присутствуют два iframe, поэтому вам нужно сначала включить этот iframe, а затем нажать на элемент.
И вы можете применить явное ожидание к элементу, чтобы скрипт ожидал, пока элемент виден на странице.
Вы можете сделать это следующим образом:

browser = webdriver.PhantomJS()
browser.get(link)
browser.switch_to.frame(driver.find_element_by_id('sandboxFrame'))
browser.switch_to.frame(driver.find_element_by_id('userHtmlFrame'))
WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.XPATH, "//div[contains(@class,'charts-custom-button-collapse-left')]//div"))).click()

Примечание. Необходимо добавить следующие операции импорта:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...