我想通过以下方式点击链接:
driver.find_element_by_css_selector("a[href='javascript:openhistory('AXS0077')']").click()
如果链接在新窗口中打开,这很有用,但在这种情况下,链接实际上会打开一个弹出窗口。当我尝试使用此方法单击链接时,使用selenium会给出错误:
消息:u“给定的选择器 a [href ='javascript:openhistory('AXS0077')']无效或无效 不会导致WebElement。以下错误 发生:\ n无效选择器错误:无效或非法选择器 指定的“
这不是正确的方法吗?因为 我认为可能有一些不同的方式来处理弹出窗口。
答案 0 :(得分:2)
你的css选择器可能更通用,也许:
driver.find_element_by_css_selector("a[href^='javascript']").click()
你那里有各种疯狂的重叠引号。你可能会混淆它。
答案 1 :(得分:0)
我取得了更多成功using find_by_xpath
以此网站为例popups
我使用firebug
检查element
并获取xpath
。
然后使用以下工作完美。
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()