Основной пример селена в C# elementdictionary (параметр «Указанный словарь не содержит ссылки на элемент»)C#

Место общения программистов C#
Ответить
Anonymous
 Основной пример селена в C# elementdictionary (параметр «Указанный словарь не содержит ссылки на элемент»)

Сообщение 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 приводят к той же ошибке.

Подробнее здесь: https://stackoverflow.com/questions/794 ... er-the-spe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»