Selenium / Python查找元素并单击它

时间:2015-10-23 06:10:41

标签: python-2.7 selenium selenium-webdriver

我一直在研究这个问题,这是我写的代码

driver = webdriver.Firefox()
time.sleep(10)
get("some website")
time.sleep(10)
x = driver.find_element_by_id("vB_Editor_QR_textarea")
x.click()

它不断给我一个错误,它不起作用的部分是find_elementclick()

它一直给我webdriver.py

的错误

这里是错误说明的屏幕截图:我目前没有鼠标所以我只拍了一张照片

https://gyazo.com/bc6f8d3e77f2e9d9b5bcbfe202b73258

2 个答案:

答案 0 :(得分:0)

你应该试试这个:

driver = webdriver.Firefox()
driver.get("https://example.com") # Make sure you use double quotes

而不是time.sleep(),您应该使用implicit and explicit waits。我通常使用隐式等待。

driver.implicitly_wait(10) # 10 seconds
  

隐式等待是告诉WebDriver在尝试查找一个或多个元素时,如果它们不能立即可用,则会在一定时间内轮询DOM。

答案 1 :(得分:0)

试试这个简单的谷歌搜索自动化:

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

class AutoTest(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Firefox()

    def test_auto_test(self):
        driver = self.driver
        driver.get("http://www.google.com")
        element = driver.find_element_by_css_selector('#lst-ib')
        element.send_keys("StackOverflow")
        element = driver.find_element_by_css_selector('#sblsbb > button > span').click()

if __name__ == "__main__":
    unittest.main()