【发布时间】:2017-09-15 06:29:27
【问题描述】:
如何强制链接在 selenium-web-driver python 的新窗口中打开并切换到它提取数据并关闭它 目前我正在使用以下代码
for tag in self.driver.find_elements_by_xpath('//body//a[@href]'):
href = str(tag.get_attribute('href'))
print href
if not href:
continue
window_before = self.driver.window_handles[0]
print window_before
ActionChains(self.driver) \
.key_down(Keys.CONTROL ) \
.click(tag) \
.key_up(Keys.CONTROL) \
.perform()
time.sleep(10)
window_after = self.driver.window_handles[-1]
self.driver.switch_to_window(window_after)
print window_after
time.sleep(10)
func_url=self.driver.current_url
self.driver.close()
self.driver.switch_to_window(window_before)
问题
-
如果上面的代码点击了带有
的链接,则不会强制执行<a href="" target="_blank">something</a> - 经过一些两个链接后,它会停止打印
StaleElementReferenceException:消息:元素引用已过时。元素不再附加到 DOM 或页面已刷新。
【问题讨论】:
标签: python python-2.7 selenium selenium-webdriver selenium-firefoxdriver