我已經為此做了很多搜索,但似乎我只能在 .js 中找到答案。我想做的是通過python使用 .find_elements_by_xpath ,并選擇了未知數量的元素,通過從相關元素的頂部到底部迭代來輸入一個值。重要的是要知道可能有 1 數量的元素需要填充。
有些人在 .js 中建議了這種方法:
driver.findElements(By.xpath("<xpath>")).then(function(elem) {
for(var i=0; i<elem.length; i ){
driver.findElements(By.xpath("<xpath>")).get(i).sendKeys('some Text');
}
});
我不夠熟練,無法正確翻譯,但也許它會給某人一個解決方案的想法。
希望我的意圖足夠清楚!非常感謝大家的幫助。
uj5u.com熱心網友回復:
這就是它在 Python 上的樣子。帶注釋的代碼:
from selenium.webdriver.common.by import By
from selenium import webdriver
website = "https://YOURWEBSITE.com"
driver = webdriver.Chrome(executable_path='YOUR/PATH/TO/chromedriver.exe')
driver.get(website)
# if you want to find all inputs on the page using XPATH and send there some value use:
all_inputs_on_the_page = driver.find_elements(By.XPATH, "//div//input")
for input in all_inputs_on_the_page:
input.send_keys("TEXT_TO_INSERT")
# if you want to find some elements and after that - find some elements inside these elements then use:
divs_on_the_page = driver.find_elements(By.XPATH, "//div")
for div in divs_on_the_page:
inputs_inside_a_div = div.find_elements(By.XPATH, ".//input")
for input in inputs_inside_a_div:
input.send_keys("TEXT_TO_INSERT")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/497454.html
標籤:python-3.x 硒 路径
上一篇:Backtrace:Ordinal0[0x00FE6463 2188387]instacktraceerror是什么意思,同時使用Selenium和ChromeDriver
