如何在python中使用webdriver和raw_input()选择下拉列表值

时间:2016-07-15 12:12:21

标签: python-2.7 selenium webdriver

这是工作代码:

driver.find_element_by_xpath("//select[@name='log']/option[text()='eag']").click()

它选择'eag'值,但我希望用户使用raw_input()选择值。 E.g。

choice = raw_input("choose: ")

然后使用该变量选择所选值;)

有没有人知道该怎么做?

提前致谢!!!

2 个答案:

答案 0 :(得分:1)

以下代码应该有所帮助。

    choice = raw_input("choose: ")
    driver.find_element_by_xpath("//select[@name='log']/option[text()='" + choice + "']").click()

答案 1 :(得分:0)

为了更好的方式,您应该使用Select()从下拉列表中选择一个选项: -

from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

wait = WebDriverWait(driver, 10)


 element = wait.until(EC.visibility_of_element_located((By.NAME, "log")))

 select = Select(element)

 choice = raw_input("choose: ")

 select.select_by_visible_text(choice)

希望它有帮助...:)