Selenium没有点击python按钮?

时间:2015-09-27 18:28:23

标签: python selenium

请有人帮我这个,

我无法通过python单击按钮获取selenium。我在python 3.4上使用Firefox 42

浏览器打开,但全部

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

driver = webdriver.Firefox()
driver.get("http://www.speedyshare.com/")
elem = find_element_by_id_name("selectfilebox")
elem.click()

浏览器打开但我收到以下错误

Traceback (most recent call last):
  File "/home/ro/sele.py", line 6, in <module>
    elem = find_element_by_id_name("selectfilebox")
NameError: name 'find_element_by_id_name' is not defined

1 个答案:

答案 0 :(得分:6)

检查driver.page_source以查看驱动程序看到的HTML 是有帮助的。

driver.get("http://www.speedyshare.com/")
content = driver.page_source
with open('/tmp/out', 'wb', encoding='utf-8') as f:
    f.write(content)

你会在/ tmp / out中看到:

<frameset rows="*"><frame src="http://www30.speedyshare.com/upload_page.php" name="index31" />
</frameset>

啊哈。您要单击的标记位于框架内。所以先切换到那个框架:

driver.switch_to.frame("index31")

然后您就可以通过ID找到元素:

elem = driver.find_element_by_id("selectfilebox")
elem.click()

这个问题与Selenium Unable to locate element (Python) WebScraping基本相同;如果不先了解解决方案,就很难知道。