希望有人能帮我。
我的目标是使用Python(Selenium+Cromedriver(成功连接到这个网站,并在搜索栏中成功搜索地址。我很难用Selenium找到真正的搜索栏。HTML代码没有ID或NAME来区分它,它只有一个类,当我搜索该类时,我会收到一个错误,说找不到它。
希望这是一个简单的解决办法,我只是傻了。非常感谢。
p.S第一篇文章-请提示下一次要更改的内容:(
代码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
PATH = "C:Program Files (x86)chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://creeper.banano.cc/")
search = driver.find_element_by_class_name("ValidatedSearch form-control form-control-lg ")
错误代码
NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":".ValidatedSearch form-control form-control-lg "}
网站的Python代码+HTML
ValidatedSearch表单控件表单控件lg
是指多个类名。
为了找到元素,我们使用css选择器。
driver.find_element(By.CSS_SELECTOR,".ValidatedSearch.form-control.form-control-lg")
也不要使用driver.find_element_by,因为它们是折旧的,而是导入by并使用它。
这里的错误是在一个函数中有多个类名,只需要一个。ValidatedSearch
、form-control
和form-control-lg
是不同的类,因为类中不能有空格。所以你要找的是:
search = driver.find_element_by_class_name("ValidatedSearch")
这将针对它找到的ValidatedSearch
类中的第一个标记。
我能够让它与一起工作
search = driver.find_element_by_class_name("ValidatedSearch")
search.send_keys("Hi My Name is Slicka Slicka Slim Shady")
我用了一节课。我认为Seleniumiirc只需要一个类。此外,我主要不是一个网页设计师,但这些框架,今天到处都是添加,额外的是令人讨厌的。当我创建Selenium脚本时,我越来越多地使用xpath。你可能想看看