我想在弹出窗口中抓取对话文本。问题是,在我触发链接后,窗口出现,但似乎selenium驱动程序无法自动处理,因为我通过输入driver.window_handles
从本网站上的其他问题中了解到。
触发源:
len(driver.window_handles)
的值是1.我以为我可以获取窗口元素,然后通过get_attributes
获取文本,幸运的是我成功获取元素
wd = driver.find_element_by_css_selector('div[node-type="repeat_list"]')
selenium.webdriver.remote.webelement.WebElement(session =“f810cbbe-db43-4e8d-b484-664559ec8efc”,element =“{dd00e689-7991-44e9-85d3-76c69e79218f}”)
但令人遗憾的是,我不知道如何从中获取所有的东西,因为我不知道它们的属性。
我不确定这是否是对话,前端工程师告诉我它看起来像是动画。无论如何,这是源代码片段:
PS:浏览器 Firefox 。
我认为可能会违反网站的“可接受使用政策”来抓取,然后我应该隐藏一些信息。遗憾。
答案 0 :(得分:0)
获得父元素后:
wd = driver.find_element_by_css_selector('div[node-type="repeat_list"]')
您可以继续调用此对象上的方法,并按此顺序访问子元素,您可以使用查找element_by_xpath
或find element_by_class name
,例如:
wd = driver.find_element_by_css_selector('div[node-type="repeat_list"]')
wd.find_element_by_class_name("list_box").find_element_by_class_name("list_ul").find_elements_by_class_name("list_li S_line1 clearfix")
依此类推,直到您在层次结构中到达所需元素并按照您的意愿提取其内容。
我希望这有帮助!