我正在嘗試使用「selenium」包進行網站交互。我有一個問題理解這行做:與使用硒的網站進行交互
elem = driver.find_element_by_name("q")
,檢查之前,該網站包含在標題中註明「蟒蛇」行。然後這條線以某種方式在網頁上找到帶有字母「q」的搜索文本框。包文檔跳過了這一點,我錯過了什麼?
全碼:
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
class PythonOrgSearch(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
def test_search_in_python_org(self):
driver = self.driver
driver.get("http://www.python.org")
self.assertIn("Python", driver.title)
elem = driver.find_element_by_name("q")
elem.send_keys("pycon")
assert "No results found." not in driver.page_source
elem.send_keys(Keys.RETURN)
def tearDown(self):
self.driver.close()
if __name__ == "__main__":
unittest.main()
到目前爲止,我可以看到,我可以用查找特定的元素:
find_elements_by_name
find_elements_by_xpath
find_elements_by_link_text
find_elements_by_partial_link_text
find_elements_by_tag_name
find_elements_by_class_name
find_elements_by_css_selector
但爲什麼「Q」明確指向搜索框中蟒蛇網站?
看看問題中的網站的HTML - 出於某種原因,你試圖選擇的框被命名爲「q」。 – 2014-10-02 21:21:53