Как сделать команду click () с python, но на «таблице» - PullRequest
0 голосов
/ 04 марта 2020

Я действительно новичок в python, но я смог загрузить файлы такого рода с веб-сайта:

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

driver = webdriver.Chrome() 
driver.get("http://www.yeastgenome.org/locus/S000001142/overview")
wait = WebDriverWait(driver, 4)
wait.until(EC.element_to_be_clickable((By.XPATH,"/html/body/div/div/div[2]/div[2]/section[2]/div/div[1]/div/div/div/div[1]/div/div[1]/div/a"))).click()

for i in range(1,5):
    i = str(i)
    wait.until(EC.element_to_be_clickable((By.XPATH,"/html/body/div/div/div[2]/div[2]/section[2]/div/div[1]/div/div/div/div[1]/div/div[1]/div/ul/li["+i+"]/a"))).click()

у меня все работает, скачал эти файлы.

Дело в том, что я узнал, что вам нужно проверить элемент с веб-сайта, чтобы сделать click (), но в таблице я не могу выбрать elemetn. Как это сделать? Спасибо.

1 Ответ

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

Книги Embedded Tableau размещены внутри iframe, поэтому вы не можете выделить их и щелкнуть по элементам в этом фрейме. Вы можете перейти к другому URL, который даст вам PDF, а затем использовать селен оттуда.

Все, что вам нужно сделать, это добавить .pdf в конец URL, к которому вы пытаетесь обратиться, и вы получите PDF-версия рабочей книги в браузере.

http://<servername>/#/views/<workbook>/sheet?:iid=7

станет

http://<servername>/#/views/<workbook>/sheet.pdf

Затем найдите элемент загрузки (id="download") и щелкните его с селеном.

download element

См. Этот кб из Таблицы для более подробной информации.

https://help.tableau.com/current/pro/desktop/en-us/link_view.htm

...