请有人帮我这个,
我无法获得selenium点击python按钮.我在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()
Run Code Online (Sandbox Code Playgroud)
浏览器打开但我收到以下错误
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
Run Code Online (Sandbox Code Playgroud)
它有助于检查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)
Run Code Online (Sandbox Code Playgroud)
你会在/ tmp/out中看到:
<frameset rows="*"><frame src="http://www30.speedyshare.com/upload_page.php" name="index31" />
</frameset>
Run Code Online (Sandbox Code Playgroud)
啊哈.您要单击的标记位于框架内.所以首先切换到该帧:
driver.switch_to.frame("index31")
Run Code Online (Sandbox Code Playgroud)
然后你将能够通过id找到元素:
elem = driver.find_element_by_id("selectfilebox")
elem.click()
Run Code Online (Sandbox Code Playgroud)
这个问题与Selenium无法定位元素(Python)WebScraping基本相同; 如果不先了解解决方案,就很难知道.
| 归档时间: |
|
| 查看次数: |
1385 次 |
| 最近记录: |