gpt4 book ai didi

c# - 选择没有id的表并迭代所有href

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:57 25 4
gpt4 key购买 nike

我有这个带有 2 个 Dropbox 和一个按钮的 HTML。

<html>
<body>
<table>
<tr>
<td>
<select id="dep1" >
<option>Info</option>
<option>Mecanique</option>
</select>
</td>

<td>
<select id="dep2" >
<option value="001">Glid</option>
<option value="002">ASR</option>
<option value="003">Electronique</option>
</select>
</td>
<td>
<input id="selection" type="submit" onclick="return check2()" value="Go"></input>
</td>
</tr>
</table
</body>
</html>

我的想法是,当我在第一个 Dropbox 中选择信息时,第二个将显示 Glid 和 ASR,然后当我单击该按钮时,它将打开另一个选项卡并转到另一个网站。现在我尝试访问网站并选择第一个下拉框并将第一个下拉弓的所有结果保存在 txt 文件中

IWebDriver driver;
string url = "My site";
driver = new ChromeDriver();
driver.Navigate().GoToUrl(url);
new SelectElement(driver.FindElement(By.Id("dep1"))).SelectByText("Info");
var result = driver.FindElement(By.Id("dep2")).Text;
File.WriteAllText("result.txt", result);

我的问题是如何将选项中存在的值添加到文本中并像这样显示:

001 Glid
002 ASR

对于第二个问题,我有一些像这样的其他 HTML 代码:

<html>
<body>
<table>
<tr>
<td>
<a href="site1">Glid</a>
</td>
<td>
<a href="site1">ASR</a>
</td>
<td>
<a href="site1">Electronique</a>
</td>
</tr>
</table>
</body>
</html>

所以还是一样的问题,不知道table id的情况下如何获取选中选项的href呢?

最佳答案

您可以遍历表格元素:

IList<IWebElement> options = driver.FindElements(By.CssSelector("#dep2 > option")); //get all option tags from the table
IList<IWebElement> hrefs = driver.FindElements(By.TagName("a")); //get all hrefs

foreach (IWebElement option in options)
{
string value = option.GetAttribute("value");
string text = option.Text;

foreach (IWebElement href in hrefs)
{
if (href.Text.equals(text))
{
// do what you need with the href
}
}
}

关于c# - 选择没有id的表并迭代所有href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34599959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com