在Google页面上使用Selenium Python单击链接

时间:2014-01-16 20:27:24

标签: python-2.7 selenium

尝试在Selenium Python中编写一个非常简单的脚本。我正在使用搜索字符串打开Goog​​le页面,然后我无法找到任何HTML元素,如“图像”,“地图”等作为搜索的一部分出现的任何链接。虽然我使用的是Firebug。但只有一件事有效,那就是

links = driver.find_elements_by_tag_name ("a")
for link in links:
    print ("hello")

如果我想点击“图片”或“地图”怎么办? 如果我想点击第1个,第2个或特定编号的链接或点击部分文字链接怎么办?

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

类似的东西:

driver.get('http://www.google.com')
driver.find_element_by_xpath('//a[starts-with(@href,"https://maps.google")]').click()

但请注意,您的浏览器通常会将“http://www.google.com”重定向到略有不同的网址,并且其显示的网页可能略有不同。

答案 1 :(得分:0)

  

如果我想点击图片或地图该怎么办?

Images: 
    img = driver.find_element_by_css_selector('img#myImage').click()
Maps:  
    map = driver.find_element_by_css_selector("map[for='myImage']").click()

1st, second or N link:
    link = driver.find_elements_by_tag_name('a')[n].click() -- or
    link = driver.find_elements_by_css_selector("div#someParent > a:nth-child(n)").click()