我试图点击一个网页的“下一步”按钮,但我收到了一个错误。我走到桌子前的步骤:
我需要解析“文献”选项卡中的数据(它工作得很好)。但是,我不能转到下一页来解析同一表中的数据。
以下是守则:
driver.find_element_by_xpath("//*[contains(text(),'Literature')]").click()
for elements in driver.find_elements_by_css_selector("#literature_div [ng-repeat]"):
print(elements.text,"\n")
driver.implicitly_wait(5)
driver.find_element_by_xpath('//a[@ng-click="selectPage(page + 1, $event)"]').click()执行此操作后,将得到以下错误:
消息:元素引用是陈旧的;元素不再附加到DOM,它不在当前框架上下文中,或者文档已被刷新
发布于 2018-11-15 16:03:32
在“文献”选项卡的末尾,请尝试
driver.find_element_by_xpath('/html/body/div/div[2]/div[2]/div[1]/div/div/div[3]/div/div/div[5]/div/ul/li[7]/a').click()发布于 2018-11-15 17:08:31
你试过吗
driver.find_element_by_css_selector('[ng-click="selectPage(page + 1, $event)"]').click()您可以改进,但这适用于单击(假设我的目标是右下一个)
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = "https://ibl.mdanderson.org/fasmic/#!/"
d = webdriver.Chrome()
wait = WebDriverWait(d, 10)
d.get(url)
d.find_element_by_css_selector('[type=text]').send_keys('AKT1 (3 mutations)')
d.find_element_by_css_selector("input[type='text']").send_keys(Keys.RETURN)
btn = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".btn.btn-default.btn-tab-avail")))
btn.click()
d.find_element_by_css_selector("[heading=Literature]").click()
ele = wait.until(EC.text_to_be_present_in_element((By.CSS_SELECTOR, "#literature_div [ng-repeat]"), "PMID"))
eles = d.find_elements_by_css_selector("#literature_div [ng-repeat]")
d.find_element_by_css_selector('[ng-click="selectPage(page + 1, $event)"]').click()
#d.quit()https://stackoverflow.com/questions/53322893
复制相似问题