0

しばらくの間、webdriver を使用して Chrome の特定の要素をクリックしようとしています。奇妙なことは、webdriver がその特定の要素のすべての属性を認識できることです。しかし、私が言うElement.Click();と、そのリンクをクリックせずに通り過ぎてしまいます。

ID別、クラス別、CSS別、XPath別など、Webdriverが提供するすべてのものを文字通り使用しました。まだ何もない

誰かがこれについて私を助けてくれれば、本当に感謝しています。

@Prashant - 申し訳ありません。この Web アプリは開発中です。まだリンクを共有できるとは思いません。

@Dominik - これが Element 変数を定義した方法です

var element = driver.FindElement(By.Id("h4GetStarted"));   
if(element.Contains("let's start")   
    element.click();

以下は同じ HTML コードです。

<div style="margin: 44px 0px 8px 4px; cursor: pointer;" class="divRow" id="h4GetStarted">  
    <h4>let's start</h4>  
    <div class="sprite-arrow-right"></div>  
</div>

というテキストをクリックしようとしていますlet's start

4

2 に答える 2

0

ブラウザー (WebDriver ではない) を操作しているときに、期待どおりに動作することを確認できますか?

これはあなたの状況では役に立たないかもしれません(私と同じ理由でこの質問にたどり着いた他の人を助けるかもしれません!)が、クリックできないチェックボックスで同様の問題に遭遇しました-FirefoxDriverでは機能しましたが、ChromeDriverでは機能しませんでした(私はちなみにJavaを使用しています)。ChromeDriver が要素の中央をクリックすると、チェックボックスがクリックできなかったことがわかりました。

ChromeDriverのトラブルシューティング ページにはElement is not clickable、この動作を説明するエラーの解決に役立つ情報がいくつかあります。

マウスをオフセットのある要素に移動する機能を提供する高度なユーザー操作 APIを使用して、最終的に解決しました。興味深いことに、moveToElement()メソッドは要素の左上を選択する必要があるため、実際にはオフセットを指定する必要はありませんでした (確認していません)。

だから代わりに

termsCheckbox.click();

使った

new Actions(driver).moveToElement(termsCheckbox).click().perform();
于 2012-11-20T01:23:20.333 に答える
0

これをドライバーに追加します

driver.manage().window().maximize();

クロムが要素を見つけられず、ブラウザがフルサイズではなく、要素がオフになっているためにクリックできないという問題がありました。

于 2015-04-01T16:03:55.353 に答える