我有这段代码
foreach
我正试图访问" aria-label"看它是否包含单词"开始" ...
使用此代码
static $count=0;
foreach ($item)
{
for($i=$count;$i<$semesters_count;$i++)
{
echo $array_wam[$i];
$count++;
}
}
我可以找到课程,但我无法获得属性&#34; aria-label&#34;看它是否包含任何&#34;开始&#34;文本... 你能告诉我这里有什么不对吗? :\
答案 0 :(得分:0)
因此,如果有一个不包含aria-label作为属性的按钮,您将获得nullreference异常,因为您在null上使用Contains()方法。
所以试试这个:
String ariaLabel = curElement.GetAttribute("aria-label");
if (ariaLabel != null && ariaLabel.Length != 0)
{
if(ariaLabel.Contains("Start a video call"))
{
// do your stuff
}
}
答案 1 :(得分:0)
你可以试试这个 -
var p = "<button value='1' class='_42ft _4jy0 _n6m _4jy3 _517h _51sy' data-hover='tooltip' aria-label='Start a video call with Tsiato' type='submit' id='js_rk'><i class='_e0b img sp_qk8sNUxukfD sx_4816f8'></i></button>";
var k = new XmlDocument();
k.Load(new MemoryStream(Encoding.UTF8.GetBytes(p.ToCharArray())));
Console.WriteLine(k.GetElementsByTagName("button")[0].Attributes["aria-label"].Value);
答案 2 :(得分:0)
如果您的方法GetAttribute(string)可以返回null,则应始终检查返回的值。
if (curElement.GetAttribute("classname") == "_42ft _4jy0 _n6m _4jy3 _517h _51sy"
&& (curElement.GetAttribute("aria-label") ?? "").Contains("Start a video call"))
{
label5.Text = "online";
}