搜索后获得href

时间:2018-03-07 17:08:15

标签: python-3.x selenium firefox selenium-webdriver

成功搜索后,我需要获取搜索后出现在页面上的href。

enter = present (driver, By.CSS_SELECTOR, "#search-submit")
driver.execute_script ("arguments[0].click()", enter)
elems = driver.find_elements_by_xpath ("//a[@href]")
# this for loop does not work 
for elem in elems:
     print(elem.get_attribute ("href"))

我正在

  

StaleElementReferenceException:消息:元素引用是陈旧的

driver.refresh()无法解决问题。 driver.back()会撤消搜索结果。还有什么可以做的?

  

更新

Florent B&#39。解决方案是要走的路。今天我进行了广泛的测试,
像魅力和更快的工作

enter = self.present (driver, By.CSS_SELECTOR, "#search-submit")
driver.execute_script ("arguments[0].click()", enter)
**WebDriverWait (driver, 20).until (EC.staleness_of (enter))**

1 个答案:

答案 0 :(得分:1)

请在打电话之前睡30秒:

elems = driver.find_elements_by_xpath ("//a[@href]")

很高兴这有帮助。

编辑:

您可以通过execute_script

执行此脚本
"return window.jQuery && jQuery.active == 0"

如果您希望避免睡眠

,则会返回所有ajax请求