Как щелкнуть по javascript javascript: __ doPostBack ('ac $ w $ PC $ PC $ grid', 'Page $ 2') - PullRequest
0 голосов
/ 18 сентября 2018

Я очищаю страницу, используя селен и питон.Данные разбиты на страницы, а данные таблицы выглядят следующим образом.

<td>
    <a href="javascript:__doPostBack('ac$w$PC$PC$grid','Page$2')">2</a>
</td>

Теперь задача состоит в том, чтобы получить селен, чтобы перейти по этой ссылке и перейти на следующую страницу.

Есть SO вопрос , который пытается решить проблему, но ее нет в python.

Есть также много SO вопросов, которые пытаются решить эту проблему, используя execute_script, но ни один из них не касается дополнительного усложненияфункция javascript с, казалось бы, двумя аргументами.

Как получить селен, чтобы нажать на эту ссылку и перейти на следующую страницу?Любая помощь или указатель высоко ценится.

1 Ответ

0 голосов
/ 18 сентября 2018

Вам нужно вызвать WebDriverWait для устаревания элемента и можете использовать следующее решение:

WebDriverWait(driver, 10).until(EC.staleness_of(driver.find_element_by_xpath("//td/a[text()='2']")))
driver.find_element_by_xpath("//td/a[text()='2']").click()

Примечание :Вы должны добавить следующий импорт:

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

Соответствующее обсуждение вы найдете в Как мне ждать вызова JavaScript __doPostBack через Selenium и WebDriver

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...