我试图在Behat和Mink上下文中使用XPath访问一个元素一个没有但我的函数似乎无法找到它的元素
这是元素结构:
<a data-iskeynav="true" data-test-id="compose-button" href="/d/compose/4661075315" class="e_dRA l_T cn_dBP cg_FJ k_w r_P A_6EqO u_e69 p_R S_n C_52qC I_Z1UEcsX D_F H_6VdP gl_C ab_C en_0 M_1Eu7sD ir3_Z1FS2Mn it3_dRA" role="button"
aria-label="Compose" tabindex="20">Compose</a>
这是我的PHP代码
$page = $this->getSession()->getPage();
$element = $page->find('xpath', '//a[@data-test-id = "' . $id . '"]');
我甚至使用了这个XPath,由浏览器复制但没有成功
//*[@id="app"]/div[1]/div/div[1]/nav/div/div[1]/a
答案 0 :(得分:0)
您应该尝试向a
添加条件,该条件具有某个属性值或属性中包含某些值
示例:
css:#app a[data-test-id=compose-button]
css:#app a[href*=compose]
xpath://*[@id='app']//a[@data-test-id='compose-button']
xpath://*[@id='app']//a[contains(@href, 'compose')]
答案 1 :(得分:0)
尝试使用contains
关键字:
应该是:
//a[contains(@data-test-id, '"'. $id . '"')]