选择<;选项>;文本使用Selenium';s python驱动程序

选择<;选项>;文本使用Selenium';s python驱动程序,python,selenium-webdriver,web-scraping,Python,Selenium Webdriver,Web Scraping,我正在使用SeleniumWeb驱动程序进行web垃圾处理。我已经用了一个选项值,但我必须用选项文本。我必须刮取一个选项文本并传递给您的\u choice=driver。通过\u xpath(“//select/option[@value={}]”查找\u元素。格式(b))。下面是代码 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support

我正在使用SeleniumWeb驱动程序进行web垃圾处理。我已经用了一个选项值,但我必须用选项文本。我必须刮取一个选项文本并传递给
您的\u choice=driver。通过\u xpath(“//select/option[@value={}]”查找\u元素。格式(b))
。下面是代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup

driver = webdriver.Firefox(executable_path='./geckodriver')
url = 'https://ipr.etsi.org'
driver.get(url)
button = driver.find_element_by_id(("btnConfirm"))
button.click()
select_element = Select(driver.find_element_by_name("ctl00$cphMain$lstCompany"))
data = []
for option in select_element.options:
    data.append(option.get_attribute('value'))
for a in data:
    b = a
    your_choice = driver.find_element_by_xpath("//select/option[@value = {}]".format(b))
    # continue
    your_choice.click()
python_button = driver.find_element_by_id(("ctl00_cphMain_btnSearch"))
python_button.click()

上面是我用选项值完成的代码。现在我必须使用选项文本来完成它。

因为您正在查看按文本选择

更改选项。将_属性(“值”)设置为

和“//select/option[@value={}]”以


如果要通过可见文本进行选择,
python
具有
select\u by\u visible\u text
方法。您只需捕获
选项
元素,如下所示:

select = Select(driver.find_element_by_id("option_id"))
或通过您选择的任何其他选择器,然后只需使用以下功能:

select.select_by_visible_text("visible_text")

如果你加上一个简短的解释,这个答案会更好。纯代码答案可能很难理解,因为不清楚解决方案是否位于第一行、最后一行、中间的某个位置,或者是否每一行都是必需的。忽略所选答案。。。那真是太老了。另外,任何时候你有问题,你都应该先在谷歌上搜索和阅读。这个问题在这个网站和其他博客、文章等网站上被问了很多次。你可以在上面的链接中看到,这个问题是在2011年提出的。
select = Select(driver.find_element_by_id("option_id"))
select.select_by_visible_text("visible_text")