我正在尝试自动执行报告过程。脚本需要检查“ ID”的列表,然后选择与ID匹配的每个选项值并返回一个值。
这是我的代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome(executable_path=r'C:/Users/rford/Desktop/chromedriver/80.0.3987.106/win32/chromedriver.exe')
driver.get("https://website.com")
Username = driver.find_element_by_id("bvuser")
Password = driver.find_element_by_id("bvpass")
Submit = driver.find_element_by_xpath('//*[@id="form1"]/div/div[2]/input')
#Sign In
Username.send_keys('username')
Password.send_keys('password')
Submit.click()
#Go To Email Logs
driver.get("https:///email_logs.php")
SaleIds = [47832, 47842, 48213]
dropdown = Select(driver.find_element_by_id('emailspecialid')[0,1])
option = [x for x in driver.find_elements_by_tag_name('option')]
result = driver.find_element_by_xpath('/html/body/table[1]/tbody/tr[3]/td[4]')
for SaleIds in option:
if SaleIds == option:
print(result)
有人可以指导我从这里去哪里吗?
如果可以帮助您,您可以尝试以下解决方案吗?您还需要遍历SaleIds列表。
elements=driver.find_elements(By.ID,'Your Id') //to take all elements matching xpath
options = [x for x in elements.find_elements_by_tag_name("option")]
result = driver.find_element_by_xpath('/html/body/table[1]/tbody/tr[3]/td[4]')
for element in options:
print element.get_attribute("value")
SaleIds = [1, 2, 3]
for opt in options:
for item in SaleIds :
if item in opt:
print 'Found ', opt
print result