Искать 2 вещи одновременно с LinkText - PullRequest
0 голосов
/ 04 июня 2018

Я делаю «поиск предметов» для превосходного веб-сайта, и мой код работает, чтобы нажимать на кусок одежды.Но он просто нажимает на первый элемент в строке -> выбирает розовый, потому что он первый в строке

Код

    {
        IWebDriver driver = new ChromeDriver();
        driver.Url = "http://www.supremenewyork.com/shop/all/jackets";

        driver.Manage().Window.Maximize();

        driver.FindElement(By.LinkText("Polka Dots Rayon Work Jacket")).Click();

}

Как я могу это сделать, поэтому он также берет в поиске цвет, чтобы он щелкнул, например, на куртке с цветом aswell?

HTML-кодназвания куртки: <a class="name-link" href="/shop/jackets/que2rcwml/qft89kxy0">Polka Dots Rayon Work Jacket</a>

HTML код цвета куртки: <a class="name-link" href="/shop/jackets/que2rcwml/qft89kxy0">Light Pink</a>

1 Ответ

0 голосов
/ 05 июня 2018

Вы можете использовать XPath, чтобы получить, что хотите, например,

//article[.//a[text()='Black']] найдет одежду, цвет которой Black,

Теперь нам нужно добавить ограничение, чтобы найти желаемую одеждупо имени сверху вся черная одежда следующим образом:

//article[.//a[text()='Black']]//a[text()='Polka Dots Rayon Work Jacket']

IWebDriver driver = new ChromeDriver();

driver.Url = "http://www.supremenewyork.com/shop/all/jackets";

driver.Manage().Window.Maximize();

var color = "Black"
var clothe = "Polka Dots Rayon Work Jacket" 
var xpath = string.format("//article[.//a[text()='{0}']]//a[text()='{1}']", color, clothe)

driver.FindElement(By.XPath(xpath)).Click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...