Javascript Selenium WebDriver+;幻影+;Python-执行脚本和句柄对话框

Javascript Selenium WebDriver+;幻影+;Python-执行脚本和句柄对话框,javascript,python,selenium,selenium-webdriver,phantomjs,Javascript,Python,Selenium,Selenium Webdriver,Phantomjs,我对编码相当陌生,如果这是一个愚蠢的问题,请原谅我: 我试图从通过执行JavaScript填充的列表中获取数据,下面是相关的HTML部分: <a data-popover-ui="524151" data-popover-type="Search" href="javascript:LoadLists('SaveListSearchDetails.aspx?AutoLoad=1&amp;SavedListID=EID77FF7H&amp;SavedListTypeID=Se

我对编码相当陌生,如果这是一个愚蠢的问题,请原谅我:

我试图从通过执行JavaScript填充的列表中获取数据,下面是相关的HTML部分:

<a data-popover-ui="524151" data-popover-type="Search" href="javascript:LoadLists('SaveListSearchDetails.aspx?AutoLoad=1&amp;SavedListID=EID77FF7H&amp;SavedListTypeID=Search')" data-original-title="" title=""><span class="grid-result no-break">AVEV HRC FEC Master File</span></a>
屏幕截图在那里,让我看看它是否工作得很快。列表未更新。我对java编码几乎一无所知,所以我完全不确定到底发生了什么,但我认为这是因为在执行JavaScript时,我没有处理显示的对话框

我想我可以使用get_element_by_某物,但我不确定使用哪一个,因为HTML部分中没有ID,我仍然需要帮助来处理这个该死的对话框

谢谢你


幻影不起作用。切换到Chrome作为网络驱动程序

t_list = find_element_by_link_text("~~text~~")
t_list.click()
time.sleep(5)
Alert(browser).accept()

嗯,您可能需要在执行脚本中或之后提供一个延迟,以便加载列表(前提是它在普通浏览器中加载)

一个简单的time.sleep()不起作用,甚至等待了5分钟(比在浏览器中加载所需的时间还要长)。此外,如果正确理解您的注释,则在运行代码后,当我在浏览器中访问该列表时,该列表不会更改。不确定java,但python具有按id查找元素、按名称查找元素、按xpath查找元素等功能。我确信java一定有类似的功能。您可以使用web inspector/firebug来查找id或xpath。我使用的是Python,我知道有find_element_by_,但我不知道在这种特殊情况下使用哪个元素。我不完全确定xpath和css选择器是什么,它们可能会被使用,但不会让你明白。所有浏览器都有web开发人员(如果没有安装firebug插件),右键单击任意元素并进行检查。
t_list = find_element_by_link_text("~~text~~")
t_list.click()
time.sleep(5)
Alert(browser).accept()