[英]Can I map 2 elements (SelectElement and WebElement) into one element with multiple xpath in Selenium? C#
在 web 頁面上執行不同的操作,我有 2 種情況:第一種情況:該項目是下拉菜單(選擇類型)第二種情況:該項目成為輸入(只讀)(輸入類型)
我想為這兩種情況實現一個保存方法。 對於某些元素(選擇元素、輸入(Web 元素)),XPath 是相同的,而對於其他元素,它們是不同的(盡管在頁面上它們似乎是同一個元素)。 如何將這些元素映射到單個 2 XPath 元素中? 當我想保存項目時出現問題,特別是當我使用 GetDropdownOptionSelectedText() 方法時,該元素不是 Select 一:Unexpected Tag Name Exception: Element should have been select but was input
要在下拉列表和文本框之間進行處理,請使用以下示例:
public void PerformAction(IWebElement element,String inputValue)
{
string tagname = element.TagName;
if(tagname == input) //Then it is a text box
{
//Perform textbox action
}
else
{
//Perform all dropdown related action since it is a dropdown
}
對於下拉和輸入 xpath 將不同/相同(可用於所有對象)的情況,您可以提出以下方法:
ReadOnlyCollection<IWebElement> elements = driver.FindElements(By.Xpath("Dropdown xpath/Textbox xpath"));
if(elements.Count != 0)
{
//Calling above defined method here
PerformAction(elements[0],"input value");
}
將上述代碼保留在單個方法中,並根據保存前的操作多次調用。 它應該處理你所有的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.