Selenium python webdriver,定位搜索栏,输入值和搜索

时间:2017-03-15 23:59:34

标签: python selenium webdriver

我正在尝试在工作之外练习一些自动化。我正在使用www.phptravels.net。我的目标是找到搜索栏,输入数据,然后单击搜索。我试图使用driver.find_element_by_class,css,Xpath多次定位元素,但似乎不起作用。我一直收到错误异常:以下是我的内容

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.PhantomJS()
driver.get("www.phptravels.com")
searchBar = driver.find_element_by_xpath("//input[@id='citiesInput']")
searchBar.send_keys('Virginia')
searchButton = driver.find_element_by_xpath("//*[@id='EXPEDIA']/div/form/div[6]/div/button").click()

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

当我在网站上查看时,找不到与您提供的xpath相匹配的内容。我相信你首先必须写一些允许你的webdriver在访问这些信息之前登录的东西。

我建议使用chrome webdriver,这样您就可以在错误发生时确切地看到您是哪一个页面。很难说Phantom会发生什么。当您的脚本正常工作时,您可以轻松切换回来。

您可以通过(在chrome中)

查看页面上是否存在xpath
  1. 右键单击您的页面
  2. 在控制台中,单击“元素”标题
  3. Ctrl + F(或Mac上的cmd + f)
  4. 输入xpath
  5. 当我为两个xpath执行此操作时,它们在www.phptravels.com页面上不存在。