Я попросил CHATGPT сгенерировать код C# с использованием селена для доступа к веб -странице и получения значения элемента.
После попытки этого с помощью LinkedIn и Medium Pages и обретения ошибок, я упростил задачу, используя самую простую страницу, которую я знаю : www.pudim.com.br.
Я попытался получить значение электронной почты, но снова столкнулся с ошибками. Следовательно, я удалил весь код и попытался получить только элемент кузова, что также привело к ошибке. < /P>
код: < /p>
using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
using System.Threading;
class Program
{
static void Main()
{
ChromeOptions options = new ChromeOptions();
options.AddArgument("--headless"); // Roda sem abrir o navegador
options.AddArgument("--disable-gpu");
options.AddArgument("--no-sandbox");
options.AddArgument("--disable-dev-shm-usage");
using (IWebDriver driver = new ChromeDriver(options))
{
try
{
string url = "http://www.pudim.com.br";
driver.Navigate().GoToUrl(url);
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(d => d.FindElement(By.TagName("body")));
// All code in the next line was turned off to just test the access to BODY
// string pageSource = driver.PageSource;
// Console.WriteLine("Page Source: ");
// Console.WriteLine(pageSource);
// try
// {
// IWebElement emailDiv = driver.FindElement(By.ClassName("email"));
// IWebElement emailLink = emailDiv.FindElement(By.TagName("a"));
// string emailTexto = emailLink.Text;
// Console.WriteLine($"E-mail: {emailTexto}");
// }
// catch (NoSuchElementException)
// {
// Console.WriteLine("No classe 'email' found.");
// }
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
driver.Quit();
}
}
}
}
< /code>
Вывод на VS -код: < /p>
Starting ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72) on port 50161
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Error: elementDictionary (Parameter 'The specified dictionary does not contain an element reference')
< /code>
Есть советы о том, как это исправить? Предложения Chatgpt приводят к той же ошибке.
Подробнее здесь: https://stackoverflow.com/questions/794 ... er-the-spe
Основной пример селена в C# elementdictionary (параметр «Указанный словарь не содержит ссылки на элемент») ⇐ C#
Место общения программистов C#
1739889671
Anonymous
Я попросил CHATGPT сгенерировать код C# с использованием селена для доступа к веб -странице и получения значения элемента.
После попытки этого с помощью LinkedIn и Medium Pages и обретения ошибок, я упростил задачу, используя самую простую страницу, которую я знаю : www.pudim.com.br.
Я попытался получить значение электронной почты, но снова столкнулся с ошибками. Следовательно, я удалил весь код и попытался получить только элемент кузова, что также привело к ошибке. < /P>
код: < /p>
using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
using System.Threading;
class Program
{
static void Main()
{
ChromeOptions options = new ChromeOptions();
options.AddArgument("--headless"); // Roda sem abrir o navegador
options.AddArgument("--disable-gpu");
options.AddArgument("--no-sandbox");
options.AddArgument("--disable-dev-shm-usage");
using (IWebDriver driver = new ChromeDriver(options))
{
try
{
string url = "http://www.pudim.com.br";
driver.Navigate().GoToUrl(url);
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(d => d.FindElement(By.TagName("body")));
// All code in the next line was turned off to just test the access to BODY
// string pageSource = driver.PageSource;
// Console.WriteLine("Page Source: ");
// Console.WriteLine(pageSource);
// try
// {
// IWebElement emailDiv = driver.FindElement(By.ClassName("email"));
// IWebElement emailLink = emailDiv.FindElement(By.TagName("a"));
// string emailTexto = emailLink.Text;
// Console.WriteLine($"E-mail: {emailTexto}");
// }
// catch (NoSuchElementException)
// {
// Console.WriteLine("No classe 'email' found.");
// }
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
driver.Quit();
}
}
}
}
< /code>
Вывод на VS -код: < /p>
Starting ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72) on port 50161
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Error: elementDictionary (Parameter 'The specified dictionary does not contain an element reference')
< /code>
Есть советы о том, как это исправить? Предложения Chatgpt приводят к той же ошибке.
Подробнее здесь: [url]https://stackoverflow.com/questions/79434375/basic-example-of-selenium-in-c-sharp-error-elementdictionary-parameter-the-spe[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия