Selenium打开弹出窗口[Python]

2024-04-18 08:16:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试通过以下方式单击链接:

driver.find_element_by_css_selector("a[href='javascript:openhistory('AXS0077')']").click()

如果链接在一个新窗口中打开,这很好,但在本例中,链接实际上打开了一个弹出窗口。当我尝试使用此方法单击链接时,使用selenium时,会出现一个错误:

Message: u"The given selector a[href='javascript:openhistory('AXS0077')'] is either invalid or does not result in a WebElement. The following error occurred:\nInvalidSelectorError: An invalid or illegal selector was specified"

这不是正确的方法吗?因为 我想可能有一些不同的方法来处理弹出窗口。在


Tags: orthe方法by链接driver方式element
2条回答

我更成功using find_by_xpath

以这个站点为例popups

我使用firebug来检查element并得到{}。在

那么使用下面的方法就完美了。在

from selenium import webdriver

baseurl="http://www.globalrph.com/davescripts/popup.htm"

dr = webdriver.Firefox()
dr.get(baseurl)
dr.find_element_by_xpath("/html/body/div/center/table/tbody/tr[7]/td/div/table/tbody/tr/td[2]/div[1]/form/table/tbody/tr[4]/td[1]/a").click()

您的css选择器可以更通用,也许:

driver.find_element_by_css_selector("a[href^='javascript']").click()

你有各种各样疯狂的重叠引号。你可能把它弄糊涂了。在

相关问题 更多 >