使用phantomjs查找元素并选择选项

0 投票
1 回答
1566 浏览
提问于 2025-04-18 17:51

我想用 phantomjs 通过 name 找到一个元素,然后从下拉菜单中根据 value 选择一个选项。下面的脚本

from selenium import webdriver
from selenium.webdriver.support.ui import Select

driver = webdriver.PhantomJS()
driver.get("http://www.wikipedia.org/")

select = Select(webdriver.find_element_by_name("language"))
select.select_by_value("es")

html_doc = driver.page_source
driver.quit()

却出现了错误

Traceback (most recent call last):
  File "test.py", line 7, in <module>
    select = Select(webdriver.find_element_by_name("language"))
AttributeError: 'module' object has no attribute 'find_element_by_name'

如果我把 webdriver.PhantomJS() 改成 webdriver.Firefox(),我还是会遇到同样的错误。我到底哪里做错了?这个模块是不是没有正确安装?

1 个回答

1

webdriver 是你导入的模块名称,而 driver 是你创建的 WebDriver 实例。

select = Select(webdriver.find_element_by_name("language"))
                ^^^^^^^^^    

改成

select = Select(driver.find_element_by_name("language"))
                ^^^^^^

撰写回答