选择<;选项>;文本使用Selenium';s python驱动程序
我正在使用SeleniumWeb驱动程序进行web垃圾处理。我已经用了一个选项值,但我必须用选项文本。我必须刮取一个选项文本并传递给选择<;选项>;文本使用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
您的\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")