我的元素显示为:
Year Item ID
2005 a 1234
2005 b 1234
2005 a 4567
2005 b 4567
2006 a 4567
2006 a 7894
xpath是:
<a class="main-item" href="#">Business Loans</a>
这将返回//*[@id='main-nav']/ul/li[1]/a[1]']
invalid element locator
我正在尝试获取元素。
答案 0 :(得分:0)
欢迎来到SO。这是简单的xpath。
//*[@id='main-nav]//a[@class='main-item' and .='Business Loans']
如果要使用您提到的那个,这里是更正的内容。
driver.findElement(By.xpath("//*[@id='main-nav']/ul/li[1]/a[1]"))
答案 1 :(得分:0)
尝试在xpath中包含函数,它可以提取与特定文本值匹配的所有元素
//a[contains(text(),'Business Loans')]
答案 2 :(得分:0)
此错误消息...
org.openqa.selenium.InvalidSelectorException: invalid selector
...表示您的xpath
无效。
对于'
值和"
值,都不能使用单引号,即 By
或双引号,即 WebElement element = driver.findElement(By.cssSelector("#main-nav a.main-item"));
。 属性值。
您可以使用以下任一Locator Strategies:
cssSelector :
WebElement element = driver.findElement(By.xpath("//a[@class='main-item' and text()='Business Loans']"));
xpath :
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
BackgroundColor="Black" x:Name="MainContentPage"
x:Class="BluePin.MainPage">
<ContentPage.Content>
<Image Source="{Binding SelectedImage}" Aspect="AspectFill"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
BackgroundColor="Transparent" />
</ContentPage.Content>
</ContentPage>