c# - Selenium :如何单击一个可变按钮

标签 c# selenium xpath

<a id="btn_yyyy_69" href="javascript:void(0);"
 onclick="checkOnline(this,'69','UCnHasdadhrz3mTd1A7t5TQ','yyyy');"
 class="gbut_red">Yepsribe</a>


和xpath之类的//*[@id="btn_yyyy_69"]-69,它在不断变化。

我这样尝试过;

WebDriverWait waitc = new WebDriverWait(driver, TimeSpan.FromSeconds(15));
waitc.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//*[@id='btn_yyyy_")));
driver.FindElement(By.XPath("//*[@id='btn_yyyy_")).Click();

最佳答案

如果要按部分@id值匹配链接,可以尝试

By.XPath("//a[starts-with(@id, 'btn_yyyy_')]")
By.CssSelector("a[id^='btn_yyyy_']")


您也可以通过其文本找到链接:

By.LinkText("Yepsribe")

关于c# - Selenium :如何单击一个可变按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48446361/

相关文章:

java - WebDriver PhantomJS 无法找到元素,但可以在 Firefox 上正常工作

Maven/Junit 并行执行 - Cucumber-JVM v4.0.0

php - 使用行中的 xpath 提取表格单元格文本内容以供使用?

c# - 解析网页中的超链接

c# - 有没有什么解决方案可以用 C# 开发黑莓应用程序,比如用于 Android 的 Mono 或 Monotouch?

java - 如何查找网站中页码的大小

html - R:使用 rvest 抓取动态链接

c# - 在 CsvHelper.CsvWriter 中手动添加标题

c# - 数据网格与 GridView

c# - 显示前检查空 XML 数据验证