2016-11-11 74 views
1
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
browser = webdriver.Chrome("C:/Users/sebastian/desktop/chromedriver.exe") 

browser.get("http://www.python.org") 

elem = browser.find_element_by_name("q") 

elem.clear() 
elem.send_keys("selenium") 
elem.send_keys(Keys.RETURN) 

会有人解释为什么它说find_element_by_name(“Q”) 当它应该找到搜索栏。 (它虽然工作)我只是不明白为什么“Q”?硒 - find_element_by_name需要解释

回答

2

转到http://www.python.org,右键单击搜索栏,然后选择“检查元素”或类似的东西。你会看到:

<input id="id-search-field" name="q" type="search" role="textbox" class="search-field placeholder" placeholder="Search" value="" tabindex="1"> 

请注意name="q"

+0

啊,这就是为什么。但还有一件事,它是随机的名称=“q”,我的意思是名称可以等于任何东西? 请注意,我没有关于网络相关语言的知识。 我想也许是一个更好的问题; 什么是“id”“名称”等等。什么表明这些事情。 –

+1

@sebastian是的,名字可以是任何东西。 'q'代表查询,并且经常像这样使用,如https://www.python.org/search/?q=stuff或https://www.google.com/search?q=stuff –